c语言定义数组int a[5]={1,2,3,4},这种情况a[4]的值是零吗?

如题所述

注意分清声明和定义的概念!!
int a[5];这是声明 这个时候 数组里面的内容是混乱随机的不是0 !
int a[5] = {1,2,3};这是定义 这个时候,对应位置的内容被初始化 其他没有设值的,被编译器补成0了。追问

我还有两道题能问一下你吗

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-04-20
对呀,没有初始化。默认为0追问

也就是说定义的长度比实际元素大,后面都补0吗

追答

对呀对呀

第2个回答  2016-04-20
对了,程序默认为0

c语言定义数组int a[5]={1,2,3,4},这种情况a[4]的值是零吗?_百度...
int a[5] = {1,2,3};这是定义 这个时候,对应位置的内容被初始化 其他没有设值的,被编译器补成0了。

inta[5]={1,2,3,4,5};怎么理解这句话?
初始化赋值的一般形式为:static类型说明符数组名[常量表达式]={值,值……值}; 其中static表示是静态存储类型, C语言规定只有静态存储数组和外部存储数组才可作初始化赋值。下标是从0开始。在{ }中的各数据值即为各元素的初值, 各值之间用逗号间隔。例如:static int a[10]={ 0,1,2,3,4,...

int a[5] = (1,2,3,4,5) 什么意思 详细点
定义了一个int(整型)的长度为5的数组a(a是数组名称),其中每个元素对应的值分别是1,2,3,4,5(也就是说a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5)

C语言定义一维数组时数组的下标可以省略吧
1.int a[5];如果为全局变量,默认为0,否则值随机。2.int a[5] = {1,2,3,4,5};定义长度与元素值。如果定义的值的数量少于5个,未定义的值初始化为0;如果多于5个,报错。3.int a[] = {1,2,3};定义数组的值,长度为空,表示自动分配一个长度为后面元素个数的数组。4.char s[] ...

如果定义int a[5],然后可以int a[1]=3吗?可以的话那a[3]为0还是不定值...
声明: int a[5];语句: a[1]=3;这时,数组元素 a[1] 的值 为 3 ,这时其它元素 a[0],a[2],a[3],a[4] 里的值等于几 与编译器 有关,可能处理为 0,也可能数值不定。如果你声明为 全局量,那么所有元素自动初始化 为 0。 声明为局部量则与编译器 有关。若是这样声明与...

C语言数组的下标
c语言中的下标是定义数组a[]和数组b[n],下标是用在数组中的;a[1]和b[1]就是下标相同的一个元素,数组a[1]中的数满足条件的之后就做移位计算,是减小左移,右移增加;例:inta[5]={1,2,3,4,5};printf(“%d,%d,%d,%d,%d”,a[0],a[1],a[2],a[3],a[4]);\/\/...

c语言中inta[]={1,2,(3,4)}什么意思
c语言中inta[]={1,2,(3,4)}意思是二维数组,列数为3,行数不固定,缺的补0。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。

c语言中 例如a[5]={1,2,3,4,5} 那么它数组的长度是多少?
你定义数组维度多大,数组元素最大个数就有多大。比如:int a[5];元素多5个,也就是最大存放5个数字。但如果是字符数组 char a[5] 虽然也可以存放5 个字符,但是通常只存放4个,最后1个字符放的就是结束符号‘\\0’你问为什么需要结束符号。因为与字符数组相关函数判断字符串长度都是通过这个...

c语言中,这样定义一维数组正确吗? int a[5]={0,1,2,3,4}
int a[5]={0,1,2,3,4};语法上是正确的,分号不可漏写。这叫 声明与初始化。若写成: int a[]={0,1,2,3,4}; 也是可以的,会自动算出声明的是 int a[5];

C语言中,数组名后什么时候加括号,什么时候不加
假如你定义了 int A[5]={1,2,3,4,5};数组名A是指针,指向数组的第一个数1,,即*A等于1 A后面的中括号是基址+变址的寻址方式,如A[0]是*(A+0)等于一个数1,那A[3]就是*(A+3)等于第四个数4

相似回答