简单理解常量指针和指针常量

    科技2025-04-25  8

    首先我们要理解什么是常量指针,什么是指针常量。有个简单的方法 const有着常量的意思,看const放在*的左边还是右边。如果是const int *pa或者 int const *pa 的话,由于const放在指针的左边,所以是常量指针。 所以int * const pa就是指针常量。 好了,我们已经理解了什么是常量指针,什么是指针常量了,下面我们要如何使用呢? 常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针(变量)。

    指针指向的对象是常量,那么这个对象不能被更改。这么说的话可能不是太能理解,所以我们还是有一个办法的。 常量指针 :int a = 10; int b = 20; const int pa = &a;这里我们可以看到const 修饰的是 pa而不是pa,所以我们不可以直接通过pa 来改变指针指向空间的值, 但是可以通过pa = &b;来改变指针空间内存放的内存地址。 指针常量:int a = 10; int b = 20; int * const pa = &a;这里我们可以看到const 修饰的是 pa而不是pa,所以我们可以直接通过pa 来改变指针指向空间的值例如pa = b, 但是不可以通过pa = &b;来改变指针空间内存放的内存地址。 但是 如果出现下面这种 const int * const pa = &a;那么 我们叫他指向常量的指针常量,我们既不可以通过*pa来改变变量的值,也不可以通过&pa 来改变指向。

    Processed: 0.009, SQL: 8