int a[3][4]={0}这个则数组所有的元素都得到了初值0,这句话对吗,为什么,如果0改成1那么a[0][0]=1

作者&投稿:董奋 (若有异议请与网页底部的电邮联系)
若在函数内定义形参数组a:int a[3][4];则数组a中各元素可在程序的编译阶段得到初值0吗?~

在C语言LINUX编译器情况下,
如果是全局变量或静态变量的话,在编译期会得到初值0
但是如果是局部变量的话,就不行呵,这时得到不确实的值

看编译器的,
一般绝大多数编译器,int a[][4]={0,0};这么写了以后,数组里每个元素都能得到初值0
但是也有极少的编译器这么写,只有a[0][0]和a[0][1]得到了初值0

算对吧,不过不是因为={0},而是因为默认初值是0,赋值的这个0是给a[0][0]的。

可以编个程序自己试验一下。这很容易实现的,怀疑的时候也要敢于自己实践。
其他全为0.

初始化时没有指定的默认为0

第一个为1,其他为0


你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网