从0开始学c语言-04-神奇的\0、数组初始化、求字符长度_阿秋的阿秋不是阿秋的博客-CSDN博客
之前在这个文章当中有说过
这样储存字符串的事情。
今天我们用一段代码来看看区别。
#include <stdio.h>
#include <string.h>
int main()
{
char a = "acn\000ddd";
char b[]= "acn\000ddd";
int len = strlen("sada\000dd");
printf("%d\n", len);
printf("%d\n", sizeof(a));
printf("%d\n", sizeof(b));
return 0;
}
补充:sizeof运算符以字节为单位给出其操作数的储存大小。
可以看到:
1.在计算长度的时候,遇到\0会认为结束了。
2.在计算储存单位大小的时候,把\000识别为转义字符并把隐藏字符\0也算了进去。
和你说了,不能这样储存字符串,还储存!!!
这就是\0和\000的区别,如若有新发现会继续补充。