标题:intel面试题目:字符数组指针
只看楼主
tfg0116
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-10-9
 问题点数:0 回复次数:17 
intel面试题目:字符数组指针
请问大家char *ch = "abcd";这条语句有什么不好的地方?本人认为:c++对字符串常量是按字符数组处理的,
实际上在内存中开辟了一个字符数组来存放字符串常量,并将字符串的首地址(即存放字符串常量的字符数组的首地址)
赋给了字符指针变量ch。
搜索更多相关主题的帖子: intel 指针 字符 面试 
2008-10-28 21:08
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
得分:0 
你也没说出来有什么不好的地方啊...
C++好像最不提倡的就是指针和数组,就鼓吹的就是容器和迭代器...
这样想来,上面写法还是用string的好...个人意见...

2008-10-28 22:18
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
得分:0 
第一,字符串常量不能被修改..第二,不能做指针比较.我想第二点是关键,因为标准允许字符串常量为了优化而进行折叠,也就是说同一个指针可能指向两个字符串常量...

樱花大战,  有爱.
2008-10-28 22:46
tfg0116
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-10-9
得分:0 
谢谢,我觉得这两点很关键
2008-10-29 08:49
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
"第二,不能做指针比较.我想第二点是关键,因为标准允许字符串常量为了优化而进行折叠,也就是说同一个指针可能指向两个字符串常量..."没什么试过...

学习需要安静。。海盗要重新来过。。
2008-10-29 09:24
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
得分:0 
现在标准库我都不敢用了,前段时间完成的一项目里面大部分都用了标准库,在本地测试一切正常,但放到服务器上程序就挂了,没法启动.该装了都装了,该安的也安了,就是不行.最后把标准库代码全去了,代之以自己的代码,结果OK.
不知道你们有没有遇过这样的问题,反正我现在是不敢用标准库的.

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-10-29 16:39
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
得分:0 
回复 6# 的帖子
你用的啥标准库??- -

樱花大战,  有爱.
2008-10-29 17:03
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
得分:0 
C++的标准设施 vector 等,以及标准模板库STL
后来vector被数组代替,STL里的函数全部换成自己重写的

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-10-29 17:10
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
得分:0 
那程序我在很多机上了也试了,没装VS也的照样能跑起来,但放服务器上就不行了.可能是操作系统的问题.

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-10-29 17:11
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
得分:0 
回复 8# 的帖子
-  -   应该没问题吧-  - 最好看看effective STL.

樱花大战,  有爱.
2008-10-29 17:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-241173-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.171080 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved