字符数组
1. 用字符数组存储字符与字符串的区别
(1) 存储方式:字符串后有 ‘\0’,\0表示字符串结束,不输出后面
2. 初始化:
(1) char array[]={‘a’,’b’,’c’};
(2) char array[]={“aaaa”};
注:在字符串初始化时自动加/0,若字符串大小无法容纳,则会丢失,有可能会破坏其他数据。
3. 字符数组输入的三种方式
(1) Sacnf(“%c”,&array[0]);
(2) Scanf(“%s”,&array);或scanf(“%s”,array);
注:数组名代表数组首地址,故输入字符串时不需要加&
注:以上方式输入空格表示字符串/字符结束
注:在字符串初始化时自动加/0
(3)gets(array);
4.字符串的输出
(1)printf
(2)puts只能输出字符串且自动换行
5.二维数组char array[2][3]可以看作2个一维数组,每个一维数组可以存放长度为2的字符串,array[0],array[1]相当于一维数组名,分别为两个字符串的起始地址。
(1)在输出二维数组时,如果末尾没有\0,会继续输出直到\0
6.数组做函数参数
(1)传入数组元素,相当于传值
(2)传入数组,相当于传址,型参与实参共用相同的内存单元
7.与字符串数组有关的三个函数(存放在string.h头文件中)
(1)字符串复制函数 strcpy(array1,array2); array1的数组大小应该大于array2,防止其他数据被意外修改
(2)字符串连接函数 strcat(array1,array2);
(3)字符串比较函数strcmp(array1,array2);
(4)大小写转化:小写转大写strupr(array);
大写转小写strlwr(array);