int main(void)
{
int a[3][2] = {(0,1), (2,3), (4,5)};
int *p = a[0];
printf("*p = %d/n", p[0]);
return 0;
}
输出不是0而是1.数组初始化时花括号里面嵌套了小括号(逗号表达式),此初始化相当于a[3][2] = {1, 3, 5};
本文探讨了一个C语言中关于数组初始化的特殊案例,当使用嵌套的小括号进行数组初始化时,实际效果等同于按列优先的方式填充数组,并通过一个简单的程序示例展示了这种初始化方式的运行结果。
int main(void)
{
int a[3][2] = {(0,1), (2,3), (4,5)};
int *p = a[0];
printf("*p = %d/n", p[0]);
return 0;
}
输出不是0而是1.数组初始化时花括号里面嵌套了小括号(逗号表达式),此初始化相当于a[3][2] = {1, 3, 5};
3819

被折叠的 条评论
为什么被折叠?
