这里可以看到,char类型给的数组长度是20,后面空格自动省略了,因为我后面直接输出字符a时是紧跟在char数组输出内容的后面。
- char str[7];
- str = "abc123"; //错误
- //正确
- str[0] = 'a'; str[1] = 'b'; str[2] = 'c';
- str[3] = '1'; str[4] = '2'; str[5] = '3';
这里要注意有一个坑,字符数组只有在定义时才能将整个字符串一次性的赋值给它,一旦定义完了,就只能一个字符一个字符的赋值了。
要注意的是,在每次给字符数组赋值的时候,要在结尾加上'\0'.
如果不加\0
加上\0之后
如果是直接定义则不需要加\0,加和不加结构都是一样的。
可以用string.h文件中的strlen函数求数组的长度
注意\0是不被计算到总长度里面的。
从下图可以看到,如果字符型的单个赋值的话,如果尾部不加'\0',不仅打印的数据会出错,通过strlen计算得到的长度也会报错。