[转] const int* p和int* const p

const int * p = &i1;这条语句运行发生了哪些事情呢?
1、p指向变量i1的内存区域
2、*p指向变量i1的内存区域的内容
3、*p是整型的
4、*p是常量
(注:可见const int * 和 int const *是相同的)
所以
1、p可变,因为它不是常量
2、*p不可变,因为它是个常量
3、*p指向的内存区域的内容可以变(通过i1)


同理可分析int * const p
int * const p = &i1;这条语句运行发生了哪些事情呢?
1、p是常量
2、p指向变量i1的内存区域
3、*p指向变量i1的内存区域的内容
4、*p是整型的
所以
1、p不可变,因为它是常量
2、*p可变,因为它不是常量
3、*p指向的内存区域不可变(即p),*p指向的内存区域的内容可以变
posted on 2008-07-21 15:21  高血压的熊  阅读(706)  评论(0编辑  收藏  举报