首页 新闻 会员 周边 捐助

char的用法

0
[待解决问题]

char * const p

 

char const * p

const char * p 

 

这三者的区别

菜鸟的成长的主页 菜鸟的成长 | 菜鸟二级 | 园豆:222
提问于:2014-08-26 10:32
< >
分享
所有回答(3)
0

好久不弄C了,这个还真的答不上来。

从理论上,它们应该是一样的才对,但C这个东西,真的有太多的不确定性了。

从字面上,或者可以这样理解:

char*const p:一个指向常量的字符串

char const*p:一个指针地址为常量的字符串

const char*p:字符串常量。

519740105 | 园豆:5810 (大侠五级) | 2014-08-26 11:08
0

记得网上有一篇讲它们区别的文章,很详细,可看这里http://www.cnblogs.com/rushuizhijing/archive/2011/08/26/2154737.html

jello chen | 园豆:7336 (大侠五级) | 2014-08-26 11:37
0

有一个简单的记忆办法,你看const修饰的内容是什么。char * const p 里const修饰p,所以p初始化后是不能修改的,即p = q是不允许的。char const*p 、const char*p这两个是一样的,const修饰*p,*p初始化后不能修改,即*p = 'a'是不允许的

panyihua | 园豆:209 (菜鸟二级) | 2014-08-27 08:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册