​ 字符数组: 字符数组:char arr[10] = { 'a', 'b', 'c', 'd', 'e' }; 没有被初始化的字符数组元素将被默认为ASCII码为0的'\0'

保存字符串的两种方法:

一:使用字符数组进行保存:定义字符串的时候可以不加双引号

二:使用指针进行保存

一个字符占一个字节,一个汉字占两个字节

初始化字符数组的时候也可以用汉字

 字符串在计算内存时候会在末尾加上一个ASCII码值为0的'\0'

如何理解字符数组保存的时候是保存的字符还是字符串:

方法一:利用数组的大小可以省略: char arr[] = { "abcd" };//数组大小为5 char arr[] = { 'a', 'b', 'c', 'd' }//数组大小为4

方法二; char arr[2] = { "a" };//定义字符串数组的时候可以不用花括号

方法三: char arr[] = { 'a', '\0' };//可以理解为字符也可以理解为字符串

字符数组的输入和输出 :

可以使用scanf 函数(输入结束的标志是空格或者回车)和printf函数,不用加&,因为一维数组的首地址就是数组的名字

也可以使用gers函数(从键盘上获取一个字符,可以读取空格,结束标志是回车)和puts函数(有自动换行的功能), 不过如果要使用这两个函数,要加上一个头文件:#include<string.h> 不可以使用char i = '汉';这样的格式,因为char只能用来定义字符

二维数组: 以char arr[2][3] = { { 'a', 'b' } }; 为例子 第0行的首地址为arr[0], 第二行的首地址为arr[1] 依次类推

C