c语言指针问题,有一些疑惑。
比如已经定义了以下,
int a;
int *q=NULL;
a=10;
疑问是
1.q=a;
2.q=&a;
3.*q=a;
4.*q=&a;
解释下这四种写法什么意思,我完全弄混淆了
为什么书上可以在定义时初始 int *p=a还是 int *p=&a;
追答这种问题,你上机实践一下就知道了;
在这里讨论只能是纸上谈兵;
有些书上写的q=a
还有的是定义时*p=a还是*p=&a
int *p=a还是 int *p=&a;
系统没有报错啊
追答int a = 3,b;
int *pa = &a; // pa前有*,这个*的唯一用途是表明pa是指针(定义指针)
pa = &b; // pa 指向b的存放地址
*pa = a; // 等同于b = a,这是在复制时带*,这个*的用途是解除指针的引用
谢谢
本回答被提问者采纳