搜索
写经验 领红包
 > 职场

二维数组的初始化和方法(二维数组初始化是什么意思)

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

引入二维数组

现在有三名同学,他们分别四科成绩,假设现在存储他们的成绩,那么该用什么来存储,能够让成绩和他们每个人都对应呢? 如果建立一个数组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(,&a[i][j])

如有错误,欢迎指出!

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小信创作整理编辑!