c语言数组初始化问题
今天看到这种语句inta[3]={[1]=1,[2]=2}//似乎默认a[0]=0求证实,有没有这种初始化方法...
今天看到这种语句int a[3]={[1]=1,[2]=2}//似乎默认a[0]=0 求证实,有没有这种初始化方法
展开
5个回答
展开全部
有,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 */
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 */
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int
a[5]={1,2,3,4,5};
这样是定义的时候初始化
定义时没初始化,就不能整体赋值了
你这样写当然不对
a[5]={1,2,3,4,5};
这样是定义的时候初始化
定义时没初始化,就不能整体赋值了
你这样写当然不对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有,这个真有,C99中支持,没记错的话
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
初始化
赋值
是不同的概念
希望楼主每天对这两个概念默念一遍
在任何基础C编程书中都有介绍这两个概念的
赋值
是不同的概念
希望楼主每天对这两个概念默念一遍
在任何基础C编程书中都有介绍这两个概念的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C99前,标准不支持VLA,要求定义数组大小时必须使用常量作为大小,不可使用变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询