*在不同从场景中含义不同
定义指针变量时表示这是一个只能变量,与普通变量区分开来;获取指针变量时前面加表示获取指针所指向是数据,或者说表示指针指向数据发本身。
通过指针变量取得数据
#include <stdio.h>
int main(){
int a = 15;
int *p = &a;
printf("%d, %d\\n", a, *p); //两种方式都可以输出a的值
return 0;
}
假设 a 的地址是 0X1000,p 指向 a 后,p 本身的值也会变为 0X1000,*p 表示获取地址 0X1000 上的数据,也即变量 a 的值。从运行结果看,*p 和 a 是等价的。