C语言学习(九)数组

一维数组

1.一维数组的定义格式为: 类型说明符 数组名[常量表达式];例如: int a[10];   它表示定义了一个整形数组,数组名为a,有10个整形元素。

2.在定义数组时,需要指定数组中元素的个数,方括弧中的常量表达式用来表示元素的个数,即数组长度。

3.常量表达式中可以包括常量和符号常量,但不能包含变量。 注意: C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。

数组说明中其他常见的错误: ① float a[0];        /* 数组大小为0没有意义 */

                                            ② int b(2)(3); [ ]  /* 不能使用圆括号 */

                                            ③ int k, a[k];   /* 不能用变量说明数组大小*/ 

由于数组是使用一个名称来保存同一类型的多个数据,因此需要通过引用的方式来访问数组中的单个元素,引用的格式为: 数组名[下标] C语言中,数组元素的下标从0开始,而且必须为整型常量或变量。因此,上面定义的数组array包含的元素为:int a= 5;      array[a] = 99; array[0], array[1], array[2], array[3], array[4] 数据元素本身相当于一个变量,因此,对数组元素的操作类似于对变量操作。

数组的存放

每个数据元素占用的字节数,就是基类型的字节数,一个元素占4个字节。系统会为一个数组分配一段连续的存储空间。数组的首地址就是第0个元素的地址。

二维数组

二维数组定义的一般形式为: 类型说明符  数组名[常量表达式][常量表达式];

例如:         定义a为3×4(3行4列)的数组,b为5×10(5行10列)的数组。 如下:float  a[3][4],b[5][10] ;

注意:我们可以把二维数组看作是一种特殊的一维数组:它的元素又是一个一维数组。 例如:可以把a看作是一个一维数组,它有3个元素:a[0]、a[1]、a[2],每个元素又是一个包含4个元素的一维数组。

字符数组

例如:char c[10];   c[0]=′I′ ;  c[1]=′ ′;   c[2[=′a′;   c[3]=′m′;   c[4]=′ ′;   c[5]=′h′;  c[6]=′a′;   c[7]=′p′;   c[8]=′p′;   c[9]=′y′; 对字符数组初始化,可逐个字符赋给数组中各元素。 例如: char c[10]={‘I’, ‘’,‘a’,‘m’,‘’,‘h’,‘a’,‘p’, ‘p’,‘y’} 

 为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”——‘\0’。

字符数组的输入输出可以有两种方法: 逐个字符输入输出。用格式符“%c”输入或输出一个字符。 将整个字符串一次输入或输出。用“%s”格式符,意思是对字符串的输入输出。

说明: (1)用“%s”格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名。

(2)如果数组长度大于字符串实际长度,也只输出到遇′\0′结束。

(3)输出字符不包括结束符′\0′。

(4)如果一个字符数组中包含一个以上′\0′,则遇第一个′\0′时输出就结束。 (5)可以用scanf函数输入一个字符串%s。

猜你喜欢

转载自blog.csdn.net/ls_dashang/article/details/81226104