【发布时间】:2014-11-26 15:20:37
【问题描述】:
为了用整数填充结构(然后在程序中进一步传递),我认为以下方法可行:
main() {
struct songs {int pitch[5], length[5];} songs[4];
int i[5]={1,22,23,14,52};
int k=0;
songs[0].pitch=i;
for (k=0; k<5; k++) printf("%d\n",songs[0].pitch[k]);
}
但是这会出现错误“分配中的类型不兼容”
如果我不将此数组传递给结构,请使用以下内容:
main() {
int i[5]={1,22,23,14,52};
int k=0;
for (k=0; k<5; k++) printf("%d\n",i[k]);
}
它会编译并显示数组的内容。
我意识到这可能有一个简单的解决方法,但任何帮助都会很棒!
提前致谢
【问题讨论】:
-
添加了 C89 标记,因为您依赖于在 C99 中删除的“默认为 int”规则。
-
不能像在 C 中那样分配数组。您需要循环将数组的每个元素复制到另一个数组或按照答案中的建议使用
memcpy