c 中, int const * const p 和 int * const p 怎么区分使用?

[复制链接]
查看11 | 回复1 | 2011-3-5 06:50:31 | 显示全部楼层 |阅读模式
回复

使用道具 举报

千问 | 2011-3-5 06:50:31 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">const 更靠近谁谁就是常量。const在*左边便是指向的数据是常量,在*右边表示指针本身是常量,根据你的需要使用即可。
----------------
可以把变量赋值给限定符不少于该变量的变量(限定符包括const volatile mutable等)。
比如 const char*p1; const char * const p2 = p1; 是可以的,因为p2的限定符不少于p1,当然 const char *p3=p1也是可以的。
但是 char*const*p1; const char*p2=*p1; 就会有问题,这个问题有些远了,而且不同实现或许不同,具体查阅编译器手册,有本书叫《C专家编程》可以看看。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行