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跑哪儿去了,所以会产生错误。
这些东西我之所以总结,在开发与测试中经常出现错误,字符串的处理是很重要的,都不希望看见乱码。
0 0
- C语言中的''\0",让你透彻到底
- 三个例子让你透彻理解const (C/C++)
- c语言中的EOF到底是什么呀?
- 让c语言指针不再困扰你
- 看看你的C语言到底什么水平吧
- 看看你的C语言到底什么水平吧
- 让你提前认识软件开发(9):C语言中的大括号
- 让你提前认识软件开发(19):C语言中的协议及单元测试示例
- C语言中的argc与argv到底什么用
- c语言中的volatile到底做了什么?
- 学好C语言、C++,让你掌握自己的未来
- R语言中的哪些命令或者包让你相见恨晚
- 成就感!让学过C语言的你有成就感!
- 【C语言】到底能喝几瓶汽水?
- C语言中数组与指针的透彻分析
- 简单而透彻地理解C语言指针
- 简单而透彻地理解C语言指针
- 简单而透彻地理解C语言指针
- 还在用延时函数吗——那你就out了
- WinSock网络编程学习笔记(九):基于UDP实现DayTime协议
- 求高手修正能手所编的程序!
- 社会工程学的预测展望
- 又是一个周么
- C语言中的''\0",让你透彻到底
- JDK环境变量的设置
- GridView隐藏列取值解决方案
- gets的读入规则与返回值
- android高分段进阶攻略(2)传感器
- 工作多年后才明白的.NET底层开发技术
- jquery对原生方法的使用
- 胖子伤不起
- VS2008 常见系统错误