Tag: 指定初始化程序

什么是c中的指定初始值设定项?

我知道这可能是一个基本问题。 我有一个任务,要求我理解c中的指定初始化器是什么以及用一个初始化变量意味着什么。 我对这个术语不熟悉,也找不到任何结论性的定义。 我一直在寻找不同地方的答案,但找不到任何答案。 谢谢您的帮助!

使用指定的初始值设定项初始化数组时的奇怪值

当我初始化数组时,除了values[3]之外,所有输出看起来都没问题。 由于某种原因, values[3]初始化为values[0]+values[5]输出非常大的数字。 我的猜测是,我试图在将values[0]+values[5]正确存储到内存之前进行分配,但如果有人能够解释这将是很好的。 int main (void) { int values[10] = { [0]=197,[2]=-100,[5]=350, [3]=values[0] + values[5], [9]= values[5]/10 }; int index; for (index=0; index<10; index++) printf("values[%i] = %i\n", index, values[index]); return 0; } 输出如下: values[0] = 197 values[1] = 0 values[2] = -100 values[3] = -1217411959 values[4] = 0 values[5] = 350 values[6] = 0 […]

-Wmissing-field-initializer使用指定的初始值设定项时

我正在使用GCC 4.6.2(Mingw)并使用-Wextra编译。 每当我使用指定的初始化程序时,我都会收到奇怪的警告。 对于以下代码 typedef struct { int x; int y; } struct1; typedef struct { int x; int y; } struct2; typedef struct { struct1 s1; struct2 s2[4]; } bug_struct; bug_struct bug_struct1 = { .s1.x = 1, .s1.y = 2, .s2[0].x = 1, .s2[0].y = 2, .s2[1].x = 1, .s2[1].y = 2, .s2[2].x = […]