读书人

文字量 和const常量以及变量的区别解决

发布时间: 2012-03-24 14:00:46 作者: rapoo

文字量 和const常量以及变量的区别
const int *p = &256;//错误
const int w = 8;
const int *q = &w;//可以
请问这是为什么,文字量和const常量以及变量的什么本质区别导致了这种情况的产生呢

[解决办法]
1 文字常量本身不保存,没有地址,所以 const int *p = &256;
没有地址,却要获取地址,自然出错

2 const int w = 8; 这是一个常量,但是有内存分配,对应的也有一个常量名字w,你可以通过获取w的地址得到指针

const int *p = (int *)256; 这个的意义和 const int *p = &256; 是完全不同的
前者使得 p 指向一个地址为256的空间,
后者是要获得 256 这个值的地址。

读书人网 >C++

热点推荐