C语言数组 int a[3]={1,2}没写出的那个值是零还是1?

如题所述

要看数组的性质,如果是全局数组,在.DATA段分配内存,编译系统会初始化为0;如果是局部数组,在堆栈分配内存,系统不初始化,值是随机的(每次运行程序都可能不同)。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-11-07
没写出的int默认为0

C语言数组 int a[3]={1,2}没写出的那个值是零还是1?
要看数组的性质,如果是全局数组,在.DATA段分配内存,编译系统会初始化为0;如果是局部数组,在堆栈分配内存,系统不初始化,值是随机的(每次运行程序都可能不同)。

C语言中 int a[3][3]={{1,2},{3,4},{5,6}}
int a[3][3]={{1,2},{3,4},{5,6}} 不就是定义了一个3*3的数组,然后对他进行初始化,可以对全部元素初始化,也可对部分元素初始化,没初始化的默认为0;第一行1,2,0 第二行3,4,0 第三行5,6,0 。。。这不是数组基础么。。。简单的说,就是定义了一个数组,并初始化了...

int a[3]={0,1,2}; 则a[1]的值是
a是一个[3][3]的二维数组,初始化中,对a的00、10、20三组下标位置进行了初始化数据,其它数据被默认为0。

C语言:设有定义语句:int a[ ][3]={{0},{1},{2}};则数组元素a[1][2...
a[1][2]确实应该等于0,然后a[0][0]=0,a[1][0]=1,a[2][0]=2,其余的位置都等于0。

C语言数组里面没有定义的量默认是0吗
有默认是0的。数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。而与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以...

在计算机C语言中,二维数组,a[][3]={1,2,3,4,5,6,7,8,9};a[0][0]=...
二维数组初始化时,可以采用上面这种方式,系统会根据总个数和第二位的长度算出第一位的长度。 上面数组中总共有9个元素,每行有3个元素,可以确定行数是3,也就是a[3][3]。另外数组中的元素是按行存放的,先存第一行,再放第二行,依次存放。还有就是数组的下表是从0开始,如果有3个元素...

c语言数组的大小
故int a[][3]={1,2,3,4,5,6,7};说明此数组有n行,3列;也就是说每行有三个元素,所以第一行有1,2,3 这三个元素,第二行有4,5,6三个元素,第三行有7这个元素,不足的两个元素由0来补足。对数组进行初始化,要么两个维度都不写,由赋值的数组确定,或者第二维可以不写,第一维...

C语言数组的初始化表示方法
C语言中,数组的初始化方式多种多样,主要通过大括号来实现。例如,像这样:int a[]={1,2,3}; 这表明数组a被初始化为包含三个元素,每个元素的值分别为1、2和3,相当于等同于int a[3]={1,2,3}。当你使用int a[3]={0};,则会将数组a的所有元素设置为0,初始化得非常明确。然而,有...

int a[ ][3]={1,2,3,4,5,6,7,8,9,10,11,12};*(&a[1][3])的含义(或值...
int a[ ][3]={1,2,3,4,5,6,7,8,9,10,11,12}意思就是一个二维数组,后面的3代表列数,也就是一行有3个数。二维数组行数可以不写,但是一定要写列数。&a[1][3]意思是a【1】【3】的地址,再加上* ,表示该地址所致的变量的数值,也就是};*(&a[1][3])=a【1】【3】。

int a[][3]={1,2,3,4,5,6};printf(""%d"",a[1][1]);
把b的定义改为,int (*b)[3]就可以了 定义成这样子,说明b是一个指向一个长度为3的一维数组,也就是书上所说的行指针。意思是,b+1,就指向了a[1],一下子跳过了a[0](一共六个字节),而不是指向a[0][1];你本来把b定义成int *b;则这个是列指针,即一次只移动一个int 的长度(两...

相似回答