const关键字与指针的总结

一、const的定义:const源自于英文单词constant,表示不变,用于修饰变量。


二、const修饰指针变量:

 (const修饰普通变量太简单了,不讲)

 只要有三种形式:

①int const *p 

 const int *p 

这两种形式等价,都声明了一个可以改变的指针变量(p的值可以改变)其指向的内容是不能改变的int型(*p不能被改变)。

②int *const p 

 这种形式声明了一个不能被改变的指针变量(p的值不能被改变),其指向的内容是可以改变的(*p可以被改变)。

③int const * const p

 p和*p都不能改。


三、const的变量也可以改

const机制是通过编译器检查实现的,当我们对一个普通变量用const修饰时,可以通过指针p引用这个普通变量,

编译器只认这个普通变量名是const的,不能被修改,并没有说a的地址不可以被引用。我们可以通过a的地址间接对它进行修改。

只要能骗过编译器,const修饰的变量也是可以修改的。

猜你喜欢

转载自blog.csdn.net/weixin_40728015/article/details/79194776