关于指针变量的引用问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:48:07
设有指向整型变量的指针变量p,如要把整型变量a 的地址赋予p可以有以下两种方式:
(1) 指针变量初始化的方法
int a;
int *p=&a;
(2) 赋值语句的方法
int a;
int *p;
p=&a;

我的问题是p是指针变量是存放地址的,*p应该是存放变量a的值的啊 那为何第一个例子中可以这样变量初始化呢

int *p=&a; 这里是定义指针,*p的写法是告诉编译器p是指针,为了区别int p(这里p是数值变量)。
如果已经定义了int *p; 编译器已经知道p是指针,再给p赋值就不用*p表示。这时候*p就是取p指向的存储空间的内容的运算了。