定义一个指针pa,那么*pa,pa,&pa都是什么意思?

2025-06-22 14:57:22
推荐回答(1个)
回答1:

首先要清楚一个变量在内存中(在编译或者函数调用时)都是会分配地址的
如果有以下定义:int a, *pa = &a;
那么 *pa 表示pa所指向的目标变量即a,也就是说此时这两者是等价的
pa因为是个变量,在定义中初始化时向这个变量中存入了a的地址,所以pa表示a的地址
&pa表示变量pa的地址。我们可以定义一个二级指针指向这个变量pa,具体方法是:int **p; p = &pa;