欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++ --const修饰指针

程序员文章站 2022-03-25 23:05:40
const修饰指针 const int *p = &a; const修饰的是*p(表示内容为常量),不是p(指针) 指针指向的地址可以改,但指针指向的值不可以改,这里是指向的值不可改是不能通过*p改,但是可以通过a改, p = &b; (对) * p = 20 (错) const int *p = ......

const修饰指针

1.const修饰指针 (常量指针)常量的指针
  • const int *p = &a;

    • const修饰的是*p(表示内容为常量),不是p(指针)

    • 指针指向的地址可以改,但指针指向的值不可以改,这里是指向的值不可改是不能通过*p改,但是可以通过a改,

      • p = &b; (对)

      • * p = 20 (错)

2.const修饰常量 (指针常量)指针是常量
  • int * const p = &a;

    • const修饰的是p(表示指针是常量)

    • p指向的地址不可以改变,但是该地址内存放的内容可以改变

      • p = &b; (错)

      • * p = 20 (对)

3.const即修饰指针,又修饰常量
  • const int * const p = &a;

  • 第一个const修饰 *p,第二个const修饰p

  • 表示p指向的地址不可改,该地址内的内容也不可改