前言:
现在咱们对“数组初始化为什么可以省略长度”都比较关怀,朋友们都需要分析一些“数组初始化为什么可以省略长度”的相关内容。那么小编同时在网摘上收集了一些有关“数组初始化为什么可以省略长度””的相关内容,希望兄弟们能喜欢,看官们一起来学习一下吧!引入二维数组
现在有三名同学,他们分别四科成绩,假设现在存储他们的成绩,那么该用什么来存储,能够让成绩和他们每个人都对应呢? 如果建立一个数组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])
如有错误,欢迎指出!
标签: #数组初始化为什么可以省略长度