1、可以用“初始化列表”对二维数组进行初始化
(1)、分行给二维数组赋初值。例如
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
(2)、可以将所有数据写在一个花括号内,按数组元素在内存中的排列顺序对各元素赋初值。例如
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
注:如果对全部元素赋初值(及提供全部初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不可省略。
(3)、可以对大部分元素赋初值。
2、对字符数组初始化
char c[]={"I am happy"};
也可以省略花括号,直接写成
char c[]="I am happy";
注:数组c的长度不是10,而是11。因为字符串常量的最后由系统加上一个‘\0’。上面的初始化与下面的初始化等价。
char c[]={'I','','a','m','','h','a','p','p','y','\0'};
3、scanf函数中的输入项如果是字符数组名,不要再加地址符&,因为在C语言中数组名代表该数组的起始地址。
char str1[];
printf ("%o",str1); //以八进制形式输出数组str1的起始地址
printf ("%s",str1); //按字符数组名找到其数组起始地址,然后逐个输出其中的字符,知道遇到‘\0’为止
4、字符数据的输入输出
(1)、用putchar函数输出一个字符
putchar ('B'); //向显示器输出字符B
等同于
putchar (66); //向显示器输出字符B,66是字符B的ASCII的代码
(2)、用getchar函数输入一个字符
a=getchar(); /*从键盘输入一个字符,送给字符变量a。在用键盘输入信息时,并不是在键盘上敲一个字符,
该字符就立即送到计算机中去的。这些字符先暂存在键盘的缓冲器中,只有按了Enter键才把这些字符一起输入到计算机中,然后按先后顺序分别赋给相应的变量。*/
5、使用字符串处理函数
(1)、puts函数——输出字符串函数
char str[]="China";
put (str);
(2)、gets函数——输入字符串的函数
gets (str); //从终端输入一个字符串到字符数组,并且得到一个函数值。该函数值是字符数组的起始地址
(3)、strcat函数——字符串连接函数
(4)、strcpy和strncpy——字符复制函数
(5)、strcmp——字符串比较函数
(6)、strlen——测字符串长度函数
(7)、strlwr函数——转化为小写的函数
(8)、strupr——转化为大写的函数
6、整个数组占用的是一块内存
定义数组时,要给出数组名和数组长度,数组名可以认为是一个指针,它指向数组的第 0 个元素
数组名是常量,它的值不能改变,而数组指针是变量(除非特别指明它是常量),它的值可以任意改变