黑马程序员技术交流社区
标题:
字符数组
[打印本页]
作者:
wodeheimalife
时间:
2015-4-23 10:24
标题:
字符数组
在字符数组中 比如 char a [5]= {‘a’,‘b’,‘c’,‘d’,‘e’};
对不? 不是每个字符串后面都默认一个‘\0’吗? 那不是应该是char a [6]; 才对吗?
作者:
麻木
时间:
2015-4-23 13:37
不是每个字符后面都有'\0' 是整个字符数组后面只有一个'\0'作为结束符 你字符有几个 你就定义几个 不用管'\0'的存在
作者:
人生充满期待
时间:
2015-4-23 14:44
字符串和字符数组不是一个概念,字符串通常是用字符数组来存储的!你写这个char a[5]={‘a’,‘b’,‘c’,‘d’,‘e’},我可以认为他是一个字符数组 并不是字符串,字符串应该是 char a[5]=“abcde”, 这个字符数组存储的才是字符串,而 “abcde”={‘a’,‘b’,‘c’,‘d’,’e’,'\0’},另外char a[5]={‘a’,‘b’,‘c’,‘d’,‘e’}这个括号中得5是可以省略掉得,当然你写char a[5]={‘a’,‘b’,‘c’,‘d’,’e’,’\0’} 系统其实会发出警告的,你要是用字符数组来存储一个字符串 应该写char a[5]=“abcde”
我写的有点乱 不知道你能不能知道我的意思!
作者:
xiongmaoren518
时间:
2015-4-23 16:02
字符数组的话就对着,确实是每个字符串在内存中存储后面都有一个\0,你写的那个只能存储字符数组,不能存字符串,因为内存不够,编译器会报错
作者:
ruihai
时间:
2015-4-23 16:03
其实打印出来看看就知道啦,楼上我试了下 char a[5]=“abcde” 应该是不行的,因为'\0'也要占一个位置。
我打出来看了看,结果是这样
作者:
wodeheimalife
时间:
2015-4-25 09:23
人生充满期待 发表于 2015-4-23 14:44
字符串和字符数组不是一个概念,字符串通常是用字符数组来存储的!你写这个char a[5]={‘a’,‘b’,‘c’, ...
其实我是有点晕的。。。{:3_62:}
作者:
凌乱
时间:
2015-4-25 09:36
单引号不是字符?双引号才是字符串吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2