【发布时间】:2011-01-22 13:54:17
【问题描述】:
在 C 代码中,我坚持将结构数组传递给函数,这是类似于我的问题的代码:
类型定义结构 { 诠释 x; 整数y; 字符 *str1; 字符 *str2; }结构1; void processFromStruct1(Struct1 *content[]); 主函数() { 结构1 mydata[]= { {1,1,"黑色","猫"}, {4,5,"red","bird"}, {6,7,"棕色","狐狸"}, }; processFromStruct1(mydata);//怎么样?!??找不到正确的语法 返回0; } 无效 processFromStruct1(Struct1 *content[]) { printf("%s", content[1]->str1);// 如果我想打印'red',这样对吗? ... }msvc 中的编译错误是这样的:
错误 C2664:“processFromStruct1”:无法将参数 1 从“Struct1 [3]”转换为“Struct1 *[]” 1> 指向的类型是不相关的;转换需要 reinterpret_cast、C 样式转换或函数样式转换如何解决这个问题? tnx。
【问题讨论】:
-
@mhd:虽然您的问题已被回答,但我建议您在开始编写代码之前先阅读一些书。读一本书会大大补充你的理解。
标签: c parameters struct