龙空技术网

每日积累坚持学习,二维数组的初始化你还记得吗?坚持方能成功

喵喵视角 170

前言:

现在咱们对“数组初始化为什么可以省略长度”都比较关怀,朋友们都需要分析一些“数组初始化为什么可以省略长度”的相关内容。那么小编同时在网摘上收集了一些有关“数组初始化为什么可以省略长度””的相关内容,希望兄弟们能喜欢,看官们一起来学习一下吧!

引入二维数组

现在有三名同学,他们分别四科成绩,假设现在存储他们的成绩,那么该用什么来存储,能够让成绩和他们每个人都对应呢? 如果建立一个数组score,它是二维的,第一维表示学生,第二维表示成绩,

例如score[1][2] 代表第一个学生的第二科成绩。

我们成称score就是二维数组,二维数组常称为矩阵。把二维数组写成行和列的排列形式,有助于我们形象的理解二维数组的逻辑关系。

二维数组的初始化

1.分行给二维数组赋初值

例如:

int a[3][4]={{1,2,3,4},{1,2,3,1},{4,5,6,8}};	

这种赋值的方法较为直观,把第一个花括号的数据给第一行的元素,第二个花括号的数据赋值给第二行元素......

2.可以将所有数据写在一个花括号里面,按数组元素内存中的排列顺序对各元素赋初值。

例如:

int a[3[4]={1,2,3,4,5,6,7,8,9,5,6,4};

3.可以对部分元素赋初值

例如:

int a[3][4]={{1},{0},{2}};

表示第一行第一个元素为1,其他为0,第二行所有元素为0,第三行第一个元素为2,其他为0;

4.如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一维的长度可以不指定,但是第二行的长度不能忽略。例如:

int a[3][4]={1,2,3,4,5,6,7,8,9,4,5};

与下面定义相同:

int a[][4]={1,2,3,4,5,6,7,8,9,4,5};

系统会根据总个数和第二维的长度计算出第一维的长度。

在定义时也可以只对部分元素赋初值而省略第一维的长度,但是要分赋初值。

int a [][4]={{1},{},{2}};                          

这种赋初值和第三中情况类似。

5.输入赋初值

int a[3][2];/先定义
for(i=0;i<=3;i++) //用双重for循环赋值,i,j表示二维数组下标
for(j=0;j<=2;j++)
scanf("%d",&a[i][j])

如有错误,欢迎指出!

标签: #数组初始化为什么可以省略长度