C语言中的''\0",让你透彻到底

来源:互联网 发布:孤芳不自赏 知乎 编辑:程序博客网 时间:2024/05/17 06:46

C语言字符串末尾的''\0",很重要,它不占字符串的实际长度,但是比如字节数为5的时候,最后一个字节不为\0的话,那么输出后的就是乱码。
所以,最好主动在字符串末尾加\0的重要性。

但是,哪些情况可以不用加"\0"呢,编译器会自动补上?

1,对于初始化指针,char *p="abcde";  最后不用加零,自动补上。

2, char s[]="abcd"; 对于这种未指定长度的字符数组,不用指定,编译器会自动加上\0来结束.空间长度为5,实际长度为4.


有一种情况要加上的:

例如,char s[4]="abcd";这样就有错误了,因为总长度为4,但是字符占了4,那\0跑哪儿去了,所以会产生错误。


这些东西我之所以总结,在开发与测试中经常出现错误,字符串的处理是很重要的,都不希望看见乱码。


看过之后,想更加深入了解,来我的经验共享群获取更多丰厚资料:201588891, 软件测试与开发欢迎您。
0 0
原创粉丝点击