学科分类
目录
C语言

指针间接访问

指针变量存储的数值是一个地址,针对指针变量的取值并非取出它所存储的地址,而是间接取得该地址中存储的值。C语言支持以取值运算符“”取得指针变量所指向内存单元中存储的数据,也叫做解引用。其语法格式如下:

*指针表达式

上述格式中,“”表示取值运算符,“指针表达式”一般为指针变量名。通过间接寻址访问,可以获取指针指向地址中的数据。下面通过一个案例演示取值运算符的使用,如例1所示。

例1 getVal.c

 1  #include <stdio.h>
 2  int main()
 3  {
 4    int a = 1;
 5    int* p = &a;
 6    int b = *p;    //取出指针变量p指向的内存中的数据,并赋值给变量b
 7    printf("指针变量p指向内存地址的数据是:%d\n",b);
 8    return 0;
 9  }

例1运行结果如图1所示。

图1 例1运行结果

在例1中,指针变量p中存储的是变量a的地址,通过取值运算符“”取出该地址中的数据(即a的值),并赋值给变量b。输出变量b,由图5-6可知,其值为1,表明通过取值运算符“”取值成功。

点击此处
隐藏目录