【C】C语言风格字符串注意点

4

C语言风格字符串注意点

注意

  1. strlen()
  2. sizeof()
  3. /转义字符种类

这种写法编译器会自动在结尾填充\0

char a[] = "aaas3";

这种写法需要手动填充\0,否则后面会输出多余的内容 char b[] = { 'a','a','a','s','3'};

这种写法也要手动添加\0,否则后面会输出多余的内容

char c[6]; c[0] = 'a'; c[1] = 'a'; c[2] = 'a'; c[3] = 's'; c[4] = '3'; c[5] = '\0';

这种同第一种

const char* d = "aaas3";

strlen遇到\0结束,不包括\0

char temp1[] = "abc\0abc"; strlen(temp1);//结果为3 sizeof(temp1);//结果为字符数组的大小,也就是8,默认会在结尾填充一个\0,所以指定字符数组存储元素的个数是你字符个数+1,否则就会报错,或者不指定,就像这样。

例:
char temp2[] = "AB\x78\\ab\023";
strlen(temp2);//7
sizeof(temp2);//8

\023表示一个八进制的数  
\x78表示一个十六进制的数
\\表示一个\