C++指针p和*p的问题

img

img


为什么一个是p=&a,一个是*p=&a
*p不是a吗?
正文长度小于30字

简单点儿来说就是定义时候的问题。
①首先,你要明白怎样定义一个指针变量。
②区分 int *p ; 和 *p ;的区别

int *p;   \\定义的时候的符号*是一个标识作用,为了告诉读者此处定义的是一个指针变量 
    int a;
    p=&a;   \\此处的p是定义过的指针,指针的值是一个地址,因此这时对p赋值需要赋变量的地址,即&a; 
    
    int a1,*p1=&a;  \\此处写 *p1=&a 好比变量的初始化操作(定义指针变量的同时为其赋值),等同于上述的写法,只不过是合并在了一起 

多翻翻书本,慢慢理解理解就好了,指针这部分知识就是有点儿绕,指针时C语言的灵魂,C++的学习也少不了指针的学习
加油加油
如果有帮助的话,希望采纳哦

int *p=&a;
就是把
int *p;
p=&a;
写到一起了。

在声明语句中,type X表示X为指向type类型的指针
在赋值、计算语句中,
X表示取指针变量X指向的内容
非彼