c语言数组初始化问题

2024-12-04 14:53:41
推荐回答(5个)
回答(1):

有,C99模式已晌培经支持这种初始化。c99数组新特性之一(非常量伍谨脊表达式初始化数组) :如下:
int a1[3]={1,max(a,b),3}; /腔渗*数组第2个元素的值通过函数来确定*/ 
int  al[5]={[2]=100,[1]=3}  /*{0,3,100,0,0} */ 
int a2[5]={[0]=10,[2]=-1,-1,-3} /* {10,0,-1,-1,-3} */ 
int a3[]={0,1,2,3,6,[2]=5}; /*{0,1,5,2,3,6} a3的长度是6 */

回答(2):

int
a[5]={1,2,3,4,5};
这样是定义的时候初始化
定纤大义时没初毁蚂竖始化,就不能整物州体赋值了
你这样写当然不对

回答(3):

有,这个真有,C99中支持,没记错的话

回答(4):

初始化
赋值
是不同的概念
希望楼主每天对这两个概念默氏渗念歼辩脊一遍
在任何灶裂基础C编程书中都有介绍这两个概念的

回答(5):

C99前,标准不支持VLA,要求定义数组大小时必须使用常量作为大小,不可使用变量