您的位置:首页 > 编程语言 > C语言/C++

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

2014-03-02 13:38 141 查看
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, 软件测试与开发欢迎您。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: