C++指针问题

int *p=new int;
*p=3000;
delete p;
p=0;
int i;
p=&i;
请问为什么给指针p赋值为3000的时候要加星号 ,而把指针赋为0却不加星号,还有用指针保存其它变量的地址也不用加星号. 越详细越好 答得好的加分.

第1个回答  2011-09-25
赋值为3000的时候,是给p指针所指向地址内的元素赋值,假如说new=2,赋值后就是3002.赋值为0,是给指针本身赋值,就是本来指向第一个元素的地址,赋值后指向第二个个元素的地址。
第2个回答  2011-09-25
星号是取内容运算符
p 是指针,也就是地址
*p 是p地址指向的地方 是一个值,不是地址
相似回答
大家正在搜