snrg.net
当前位置:首页 >> C语言定义数组int A[5]={1,2,3,4},这种情况A[4]的... >>

C语言定义数组int A[5]={1,2,3,4},这种情况A[4]的...

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

A.int a[] ={0,1,2,3,4,5}; B.int a[5]={0,1,2,3,4,5}; C.char a= "string"; D.int a[]="string"; 首先A是正确的虽然没有值定数组长度可是会自动确认长度。 B的问题是初始化元素的个数超过了定义的个数 C的问题是将一个字符串的首地址赋值给一个...

答案是B,3. int a[][4]的写法就是表示,第一维大小没限制,但是第二维数组大小就是4,也就是int a[][4]={{1,2,3,4},{5,6,7,8},{9,10}},明显是3.

你定义数组维度多大,数组元素最大个数就有多大。 比如:int a[5];元素多5个,也就是最大存放5个数字。 但如果是字符数组 char a[5] 虽然也可以存放5 个字符,但是通常只存放4个,最后1个字符放的就是结束符号‘\0’ 你问为什么需要结束符号。因为...

int a[][3]={1,2,3,4,5};合法的实际中这个赋值等于a[0][3]={1.2.3}a[1][3]={4,5,0}这样系统会自动安排对应的位置

就是给你的数组赋值,就像你所举例的,是个四行三列的数组,第一行的初值为1,2,0;第二行的初值为4,5,0,第三行的初值为7,0,0;(未附到的元素默认值为0)

c语言里有一个规则: 声明一个数组时如果没有赋初值,这个数组的所有元素都是乱糟糟的。 如果赋初值,又分两种情况,一种是所有元素全部赋值,则数组的各个元素皆按赋值取得初值;另一种是部分元素赋值,这种情况下,数组中那些没有被赋值的元素...

#include int main(int argc, char *argv[]){int a[]={1,2,3,4,5};printf("%d\n",sizeof(a)/sizeof(int));return 0;}

/data/data/com.n0n3m4.droidc/files/temp.c:2:12: error: declaration of 'b' as multidimensional array must have bounds for all dimensions except the first int b[][][5] = {{1,2,3,4,5,6,7,8,9},{1,2,3,4,5,6}}; ^

声明一个2维数组,5行,4列。共20个元素。

网站首页 | 网站地图
All rights reserved Powered by www.snrg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com