A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大悟云 中级黑马   /  2014-11-5 22:04  /  1532 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

a[10]={"name"}                                      五个字符a[10]={'n ', 'a' , 'm' , 'e' ,'\0'}                 五个字符
a[10]={'n ', 'a' , 'm' , 'e', 0 }                    五个字符
a[10]={'n ', 'a' , 'm' , 'e' }                       四个字符

以字符串形式初始化,后面默认有‘\0';
‘\0'的ASCII值是0,所以第二个跟第三个在内存中是相同的;
前三个数组的长度相等。



评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

11 个回复

倒序浏览
你也学到这了,我也是,一起讨论啊
回复 使用道具 举报
a[10]={'n ', 'a' , 'm' , 'e' } 是四个字符
若是a[]={'n ', 'a' , 'm' , 'e' }   你觉得应该是多少个字符?
我手头没有编辑器。
回复 使用道具 举报

a[10]={"name"}   \0在内存中是有的   
回复 使用道具 举报
atlas 发表于 2014-11-6 09:09
你也学到这了,我也是,一起讨论啊

我也在学c语言,今天看到指针了
回复 使用道具 举报
yuanlingqi 发表于 2014-11-6 13:01
a[10]={'n ', 'a' , 'm' , 'e' } 是四个字符
若是a[]={'n ', 'a' , 'm' , 'e' }   你觉得应该是多少个字符 ...

应该也是四个吧
回复 使用道具 举报
本帖最后由 yuanlingqi 于 2014-11-6 20:23 编辑

错了,答案是不一定。char a[]没有指定数组长度,所以是不定长的,长度取决于随机分配内存的值,编辑器不会自动在后面加\0结束符号。
回复 使用道具 举报
yuanlingqi 发表于 2014-11-6 20:20
错了,答案是不一定。char a[]没有指定数组长度,所以是不定长的,长度取决于随机分配内存的值,编辑器不会 ...

我的电脑没有装编译器,没有试过
回复 使用道具 举报
大悟云 发表于 2014-11-7 21:05
我的电脑没有装编译器,没有试过

复制粘贴的东西,不是你自己的。
回复 使用道具 举报
yuanlingqi 发表于 2014-11-6 13:01
a[10]={'n ', 'a' , 'm' , 'e' } 是四个字符
若是a[]={'n ', 'a' , 'm' , 'e' }   你觉得应该是多少个字符 ...

这两个都是字符数组,区别在于一个说明了数组长度,一个没有说明数组长度,没有说明则会默认是你初始化的字符个数长度。这两个的字符都是4.

点评

还是你自己发明的?  发表于 2014-11-8 10:51
没有说明则会默认是你初始化的字符个数长度。这句话谁告诉你的?  发表于 2014-11-8 10:49
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马