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>二维数组的转置
能过在输出中调换下标实现。
666666 11111
页:
[1]