1."*"的理解 : 指针的*主要出现在两个地方,
(1)首先是在指针定义时出现的*, * 相当于标识了指针变量,即表明这是一个指针变量
(2)其次,指针在使用时也会出现 *,这里的*的取内容的意思,即把指针内存储的东西提取出来使用
2. *a 中的 a,指的是指针变量,它存储的是一个地址
3. "&" 取地址符
#include <stdio.h>
int main (){
int var = 20; /* 实际变量的声明 */
int *ip; /* 指针变量的声明 */
ip = &var; /* 在指针变量中存储实际变量var的地址 &为取地址符 */
/* 输出var的地址 */
printf("Address of var variable: %p\n", &var );
/* 输出指针变量中存储的地址 */
printf("Address stored in ip variable: %p\n", ip );
/* 使用指针访问值 即用*取出地址中的值 */
printf("Value of *ip variable: %d\n", *ip );
return 0;
}
当上面的代码被编译和执行时,它会产生下列结果:
Address
of
var
variable
:
bffd8b3c
Address
stored
in
ip variable
:
bffd8b3c
Value
of
*
ip variable
:
20