Kotori 发表于 2017-7-16 09:53:04

S1E20二维数组笔记

本帖最后由 Kotori 于 2017-7-23 14:59 编辑

二维数组
二维数组形似表格,可以理解为行与列的形式。
1>二维数组的定义
      定义形式:数据类型<空格> 数组名[一维长度][二维长度] = 初始化数据(可选);
      如定义一个3行4列的整形数据,见下方代码:
int a = {{1,2,3,4},{5,6,7,8},{9}};       注意:1)数组的行列理解因人而异,上面的数组a也可以理解为4行3列。但切记固定使用一种理解方式。
               2)无论定义多少维的数组,只有第一维的长度可以省略。数组是根据后面维度的长度计算出数组元素的偏移地址的。
               3)用大括号的形式初始化数组使数组更为直观。
               4)未被指定初始化的元素会被初始化为0。
2>二维数据在内存中的形式
内存中的数据都是线性排列的,数组也不例外。上方a数组在内存中的形式如下:
            

数组在内存中是一种类似嵌套的关系。深入理解这个组织形式,能更灵活地使用数组,如:
char b={{www.},{fishc.},{com}};      上方的字符串数组b,如果要访问其中的第二个字符串,则不需要循环,直接访问b即可得到字符串“fishc.”。
3>二维数组的访问
      数组通过下标访问数组元素,如下:
a   //访问的是第2行第3列的值      注意:数组下标都是从0开始计算的。
4>二维数组的转置
能过在输出中调换下标实现。






Arto 发表于 2019-7-19 15:19:14

666666

爱吃大白馒头 发表于 2020-2-5 20:39:33

11111
页: [1]
查看完整版本: S1E20二维数组笔记