指针是什么东西

  1. 指针是什么东西

下面是一条指向整型变量的指针的声明语句

int *pi;

注意,声明后的pi是一个指针,同时它也是一个变量,也会存放在内存里,如下图所示

继续看代码 

pi = &i; 

考虑到&i是给出变量i的内存地址,这行代码也就非常清楚了,意思是将i的内存地址赋值给(指针变量)pi,此时pi就相当于那张电影票,赋值后它存储的内存地址就是电影票上的编号(方便寻找)。

结果如下图所示

最后一句代码 

printf("%d", *pi);
*运算符被称为间接值(indirect velue)或解除引用(dereferencing)运算符,将其应用于指针,可以得到该地址处存储的值

显然输出后的结果是30

我们看一个完整的C++代码以及运行结果

//代码2.1
#include <iostream>

int main()
{
    using namespace std;
    int a,*pa;
    a = 10;
    pa = &a;
    *pa = 20;
    cout << a <<endl;
}

注意,此时*取值运算符比=赋值符优先级要高

Guess you like

Origin blog.csdn.net/m0_50829573/article/details/121320731