指针常量与常量指针的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针常量与常量指针的区别相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <vector>

using namespace std;

int main()
{
    int a=1,b=2;
    //--常量指针--
    const int *cp = &a; //常量指针,本质是个指针:const修饰的是p1指向的变量,所以指向变量值不可变,指向可以改变
    //*p1 = 3;    //error,常量指针,指针指向变量的值不能改变
    cp = &b;    //常量指针,指针指向可以改变
    cout << "*cp=" << *cp << endl;

    //--指针常量--
    int* const pc = &a; //指针常量,const修饰的是int*指针,所以指向不可以改变,指向变量值可改变
    *pc = 3;    //指向变量值可以改变
    //pc = &b;    //error,指针指向不可以改变
    cout << "*pc=" << *pc << endl;
}

 

以上是关于指针常量与常量指针的区别的主要内容,如果未能解决你的问题,请参考以下文章

15常量指针和指针常量区别?

指针和引用与及指针常量和常量指针

常量指针和指针常量的区别

指针常量和常量指针的区别

理解常量指针与指针常量?

C语言 怎样区分指针常量和指针变量?