C++ const修饰指针

const修饰指针包括三种:

  1. 常量指针:const int * p;

  顾名思义,常量的指针,所以指针指向可以变,然指向的数据是常量,不能变。记法:常量(const)指针(int *).

  

 1 int main()
 2 {
 3     int  a=10, b=20;
 4     
 5     //常量指针,常量的指针 
 6     //指针的指向可以修改,但指向的数据(即常量)不可以修改 
 7     const int * p1 = &a; 
 8 //    *p1 = b; //错误,修改指向的常量
 9     p1 = &b; //正确,修改的是指针的指向 
10     
11     system("pause");
12     return 0;
13  } 

  2. 指针常量:int * const p;

  指针常量听名字也是“指针是常量”,因此指针的指向是不能改的,指向的数据可以修改。记法:指针(int *)常量(const).

 1 int main()
 2 {
 3     int  a=10, b=20;
 4     
 5     //常量指针,常量的指针 
 6     //指针的指向可以修改,但指向的数据(即常量)不可以修改 
 7     int * const p1 = &a; 
 8     *p1 = b; //正确,修改指向的常量
 9 //    p1 = &b; //错误,修改的是指针的指向 
10     
11     system("pause");
12     return 0;
13  } 

  3. const既修饰变量又修饰指针:const int * const p;

  这样修饰的指针和指向的数据都是常量,不能修改。

  

posted @ 2020-05-28 11:13  weller  阅读(453)  评论(0编辑  收藏  举报