2020年8月14日11:36:45 @author:Gallery
-
常量指针:const修饰的是指针,指针指向可以变,指针指向的值不可以更改
-
指针常量:const修饰的是常量,指针指向不可以变,指针指向的值可以更改
-
const同时修饰指针和常量,两者都不可以改变。
为了方便理解见下例子:
#include <iostream>
using namespace std;
int main(void){
int a=10;
int b = 20;
//1 const修饰指针 常量指针
const int * p = &a;
//指针指向可以变,指针指向的值不可以更改
//* p = b;
p = &b; //正确
cout <<*p;
//2 const修饰常量 指针常量
int * const q = &a;
//指针指向不可以变,指针指向的值可以更改
//q = &b;
*q = b;
cout <<*q;
//3 const同时修饰指针和常量
//两者均不可以更改
const int * const x = &a;
//x = &b;
// *x = b;
return 0;
}