美文网首页C++C++
const修饰指针

const修饰指针

作者: 爱秋刀鱼的猫 | 来源:发表于2018-02-05 21:07 被阅读10次

今天我看了一下const修饰指针的几种情况,总结一下:

int b = 500;
1、int const * a=&b;
2、const int *a = &b;
3、int * const a = &b;
4、const int * const a = &b

总结一句话就是,const关键字在*之前,修饰的指针所指的对象;const关键字在*之后,修饰的是指针本身;所以上面情况1和2是同一种情况——表示的是指针所指的内容是常量。在这种情况下,不允许修改内容。

int b = 500;
int const * a=&b;
*a=600;//错误❌

如果我们真的要改变*a的值,可以这样做:

int c =700;
a=&c;
cout<<*a<<endl;//结果为700;

在情况1和情况2下,因为只是指针指向的内容是常量,但是指针本身并不是常量,所以在声明的时候,可以不进行初始化;也就是说

const int *a;//✅

而情况3,const修饰的指针,就是说此时我们的指针是一个常量,也就是说,在初始化指针以后,我们就不可以改变指针的值。但是指针指向的内容是可以改变的。也就是说

int b = 500;
int * const a = &b;
*a=700;
cout<<*a<<endl;//结果为700

最后一种情况,指针本身和指向的内容都是常量,都是不可以改变的。

相关文章

  • 5.const与指针

    1.const修饰指针-常量指针 2.const修饰常量-指针常量 3.const修饰指针和常量 代码如下

  • iOS OC杂文

    1.const const修饰的是其右侧的内容const修饰的是只读的,const *修饰的是指针,所以指针是常量...

  • const修饰指针变量/引用/对象

    const修饰指针或者指针变量的区别 分辨的规则在于从const起往右读取 被修饰的是指针还是指针变量 const...

  • C语言-const指针

    const 指针 在普通指针类型前面,加上const修饰 例如: const 指针:区别 加不加const,有什么...

  • c++ const

    const 可修饰指针常量,可修饰常量指针,可以既修饰指针,也修饰常量常量指针:int a=10;int b=20...

  • C++的Const修饰符几种用法

    1、const修饰符可以声明常量。 2、const修饰符可以声明指针,当const在(*)号左边,意味着指针指向的...

  • const,static,extern详解

    一、�const详解 �如果试图修改由const修饰符修饰所声明的变量,编译器会报错。�const修饰符修饰的指针...

  • c语言之const和指针

    const和指针 区别方法:如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量...

  • const修饰指针

    今天我看了一下const修饰指针的几种情况,总结一下: 总结一句话就是,const关键字在*之前,修饰的指针所指的...

  • const修饰指针变量

    const修饰指针有两种情况, 情况一:是const修饰后无法改变指针所指向地址的内容,但指针可以指向其它地址,即...

网友评论

    本文标题:const修饰指针

    本文链接:https://www.haomeiwen.com/subject/qmnizxtx.html