该对变量指针进行操作的语句int *p,*q;q=p;正确吗?

该对变量指针进行操作的语句int *p,*q;q=p;正确吗?
2024-11-28 18:23:01
推荐回答(1个)
回答1:

语法上是正确的。
int *p,*q; // 声明 p,q 是整型指针
q=p; // 把 p 指向的地址 赋给 q.
但心里要有数,你既未给 p 分配过存储单元,也未初始化让它指向一个有存储单元的变量,p 和 q 目前仍然 是 俗话说 的 “野指针”。只不过 语法上 没错。

MS VC++ 6.0 程序例子:
#include
int main(){
int *p,*q;
q=p;
printf("%p",q);
return 0;
}
编译通过,运行输出:
00000000