关于char str[20]=““ 和 char str[20]=“ “
如题,定义一个长度为20的字符串,区别在于一个双引号中什么也没有,而另一个双引号中有一个空格。为了方便知道数组中存入的字符串究竟是什么,我们用调试功能,查看str数组中究竟是什么。
这是 str[20]=""
这是 str[20]=" "
这样就可以知道,当我们开了20字节的字符数组,且当字符不够而是时,它会自动加上'\0',所以我们可以看到,一个只重复了19次,一个只重复了18次,那么'\000' 究竟又是什么呢?
按照网上的说法:\000是\0的三位八进制
再看一个例子,我们可以将双引号是空格的数组,第二个元素改为 e ,此时重复的次数由18变成了17,且最终输出的结果,正是我们想要的(puts输出默认就是一行,不用\n)
同样的办法,我们用在双引号中什么也没有的数组上,发现情况不是我们预想的结果
这是什么原因呢?
可能的原因为,根据我们刚刚所说,\000,可能是\0的效果,当我们改第二个元素时,第一个仍然是\000,所以字符串就相当于结束了,最后输出的自然也就是一片空白
当我们将第一个元素修改的时候,结果发现修改了
当我们将第一个和第二个都修改的时候,发现,输出的结果如我们所料
总结:str[20]="" 和str[20]=" ",其实并没有什么大的区别,一般都是出于想像数字数组一样,把数组都先初始化为0,然后再用循环等手段,修改它的值。由于是一开始就定义了它的大小为20,当后面修改进去的总字节不足20的时候,后面剩余的字节(没用到的)也不会输出,这是它的好处。
关于char str[20]=““ 和 char str[20]=“ “相关推荐
- 【C++】20. const char *str[]、指针的字节长度等 分析
在64位操作系统中,所有类型的指针都是8字节. 在32位操作系统中,所有类型的指针都是4字节. 对于const char *str[]={"aa","bbb" ...
- char* str = abc ;跟char str[] = abc;的区别
突然发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者改变其内容程序是会崩溃的,而后者完全正确. 程序演示: ...
- 面试题--字符串指针与字符串数组的区别char* st=abc;与char* str[]=abc;的异同
题1. 删除串中指定的字符(做此题时,千万不要开辟新空间,否则面试官可能认为你不适合做嵌入式开发) 参考代码: void delChar(char* str, char c) { int i, j ...
- C++中 char* 、string、 char、char[]在各种情况下的输入与输出
之前在自己练手写代码的时候总是会在字符串,字符这一块卡住,今天写下这篇文章给自己长长记性! 其实在代码过程中会遇到很多很玄学的问题.刚刚在尝试的时候找到了之前写的测试字符串的程序,放到另外一个工程里跑 ...
- GetMemeory(char *p);GetMemeory(char **p);char* GetMemeory()用法!
void GetMemeory(char *p) {p=(char*)malloc(100); }void main() {char *str=NULL;GetMemory(str);strcpy(s ...
- char *c = abc和char c[]=abc
转自:http://blog.csdn.net/wallwind/article/details/7210474 char *c = "abc"和char c[]="ab ...
- [c++基础] const char and static const char
部分内容摘自:https://blog.csdn.net/ranhui_xia/article/details/32696669 The version with const char * will ...
- C语言char对应的码,char码值对应列表大全
Char("0") 为0的字符 Char("1") Char("2") Char("3") Char("4&q ...
- 在Java中将字符串转换为char数组,将char数组转换为String
Today we will learn how to convert String to a char array and then char array to String in Java. 今天, ...
最新文章
- 支付宝对接3(收费问题)
- Sensors Data:初创公司构建数据分析平台
- Spring5参考指南:Bean的生命周期管理
- scss-@extend
- mca终端_MCA的完整形式是什么?
- 平板电脑有什么用_除了盖泡面,平板电脑没什么用了
- 做完项目,对css样式有新发现新感悟
- 那些年我们追过的计算机经典书
- 20191024:单调栈问题的引出
- 一些代码规范(收集)
- Arcpy 实现批量按掩膜提取
- 几纳米间风云:手机摄影的制高点争夺战
- 安装vs2010 sp1失败
- 信道检测手机软件 ios_【对讲机的那点事】宝峰UV5R对讲机上中继台的信道存储设置方法...
- 简易的机器人聊天_如何制作一个简单的聊天机器人
- Codeforces 1194D
- msfvenom生成muma
- ES slop问题纪录
- no matching provisioning profile found
- tf.Variable