【发布时间】:2014-10-16 06:52:32
【问题描述】:
我需要初始化这个结构的数组:
struct a {
int *a;
int *b;
int count;
};
我的代码是这样的;
struct a[] =
{
{{1,2},{3,4}, 2},
{{1},{3}, 1}
};
当程序尝试访问字段的第一个元素时,这将编译,但会出现段错误。
【问题讨论】:
-
因为你还没有为成员
a和b分配内存。 -
这将不编译...这根本不是有效的C。当你有真正的代码不起作用时,请回来。投票结束。
-
我和@JensGustedt 在一起。在你的编译器中启用警告,你会立即看到这段代码真的非常非常错误。以
gcc -Wall -Wextra -Werror为例。
标签: c arrays initialization