[求助] const 常量指针问题!(已经加上注释分析,大家看下对吗)
有两个函数不会怎么修改,尝试了还是出错。请大家指教下。一:
void main()
{
int x=58;
int y=98;
const int *p=&x;
y=*p;
*p=65; //因为 const int * p 是指向常量的指针限定了*p的操作,但是可以用p=&y,改变*p 的指针指向,也可以用x=,改变x的值。
p=&y;
}
二:
void main()
{
int x=58;
int y=98;
z=55;
int * const p=&x;
*p=65;
p=&y; //因为int * const p 是常量指针,指针本身是常量,所以p= 操作不成立,但是*p=65就可以改变x的值。编译器把p看做是常量地址。
z=*p;
}
[[it] 本帖最后由 terryf50 于 2008-12-9 21:24 编辑 [/it]]