首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-03-24 
文字量 和const常量以及变量的区别constint*p&256//错误constintw8constint*q&w//可以请问这是为什

文字量 和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 这个值的地址。

热点排行