个元素的地址。比如 a,实际上址&a[1]可写成a+1,
第i+1个元素的地址&a[i]可写成a+i。
§7.1 一维数组的定义及引用 一维数组的初始化: C语言允许在定义数组的时候初始化数组,形式为: 类型 数组名[宽度] = { 数值表 };
初始化时,需注意几点: 如:int a[5]={ 0,1,2,3,4 }; • 数值表是用逗号分隔的,最后一项后面没有逗号。 • 当数值表中数值个数小于宽度时,其余元素会被 自动初始化为0; • 存字符串的字符数组允许下列的初始化简写形式: int a[5]={ 1,2 }; 等价于int a[5]={ 1,2,0,0,0 }; char ch[6]=“Hello”;
§7.2 二维数组的定义及引用 二维数组的引用:
地址引用:
• 二维数组的数组名代表该数组的首地址,即第1个 元素的地址。比如 a,实际上就是&a[0][0]。 • 二维数组元素在内存中按行存放,a[0]为第1行的 首地址。同样,a[1]为第2行的首地址,......, a[n-1]为第n行的首地址。
• 二维数组中任一元素a[i][j]的地址&a[i][j]等价 于a[i]+j。
§7.1 一维数组的定义及引用 二维数组的初始化: • 分行初始化
int
a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
• 很多程序员也喜欢这么写: 按数组在内存中的排列顺序 int a[3][3]={{1,2,3}, int a[3][3]={1,2,3,4,5,6,7,8,9}; {4,5,6}, {7,8,9}}; • 很多程序员也喜欢这么写: 可省略第一维的长度说明,长度由初值个数确定 int a[3][3]={1,2,3, int a[ ][3]={{1,2,3},{4,5,6},{7,8,9}}; 4,5,6, 注意:第二维的长度不能省略 练习:说出下面二维数组第一维的宽度及各元素的值: 7,8,9}; int b[ ][3]={1,2,3,4};