C语言数组

来源:互联网 发布:运行 Windows 编辑:程序博客网 时间:2024/06/06 05:04

一维数组

形式

  /* 形式 */
 char cArr[10];//声明一个含十个元素的char数组

初始化

  /* 1.指定数组长度 */
 char cArr[5] = {'a','b','c','d','e'};//数组全部成员初始化
 char cArr2[5] = {'a','b'};//数组部分成员初始化,前两个元素为字符a、b,后三个元素为空
 /* 2.不指定数组长度 */
 char cArr3[] = {'a','b','c','d'};//数组长度是实际元素个数。Len = 4
 char cArr4[] = "wenjinxing";//当以字符串形式对数组初始化时,数组长度为字符个数+1.Len = 11

使用

数组元素通过数组名加下标访问,如arr[3]访问的是数组arr的第4个元素(因数组下标从零开始)。

多维数组

形式

  /* 形式 */
 char cArr[3][4];//二维数组,可以理解为3行4列共12个元素。也可以理解为含有三个元素的一维数组,每个元素又是含有4个元素的数组

初始化

 /* 1.指定数组长度,全员初始化 */
 char sArr[2][3] = {'a','b','c','d','e','f'};/* (1)----数组成员全员初始化,[0][0]='a',[0][1]='b',[0][2]='c',
             [1][0]='d',[1][1]='e',[1][2]='f'*/
 char sArr2[2][3] = {{'a','b','c'},{'d','e','f'}};/* (2)---本例与(1)表达同样的结果 */
 /* 2.指定数组长度,部分成员初始化 */
 char sArr3[2][3] = {'a','b','c','d'};//(3) ---[0][0]='a',[0][1]='b',[0][2]='c';     [1][0]='d',[1][1]='\0',[1][2]='\0'
 char sArr4[2][3] = {{'a','b'},{'c','d'}};//(4) ---[0][0]='a',[0][1]='b',[0][2]='\0';   [1][0]='c',[1][1]='\0',[1][2]='\0'
 /* 3.部分指定数组长度 */
 char sArr5[][3] = {'a','b','c','d'};//(5) ---[0][0]='a',[0][1]='b',[0][2]='c';   [1][0]='d',[1][1]='\0',[1][2]='\0'
 //char sArr6[2][] = {'a','b','c','d'};//(6) 错误语法,不是第一维的长度不能省略。

 /* 4.以上数组的输出结果如下: */


【总结】

  1. 数组下标从0开始,数组元素在数组中所处的位置比下标大1.

  2. 数组在内存中的位置是连续的。

  3. 数组初始化时若指定了长度,则所占内存为类型字节数乘以长度;若初始化时未指定长度,则所占内存为类型字节数乘以实际元素个数。

  4. 对于未全员初始化的数组,依次将数组元素从左到右赋值给下标由小到大的数组变量。未赋值的数组变量则取默认值(一般整型默认值为0,字符型默认值为空)

1 0
原创粉丝点击