29.const修饰指针和常量

29.const修饰指针和常量,第1张

目录

 

1.普通的const:

         2.const 修饰指针——常量指针:const * (指向的值不可变)

3. const 修饰———指针常量:* const (指针的指向不可变)

4. const既修饰指针又修饰常量(指针的指向和值都不可变)

5.总结:


1.普通的const:
const int N=1000;//c++中的使用和c语言中define一样

#define N 1000

2.const 修饰指针——常量指针:const * (指向的值不可变)
const int *p=&a;

常量指针:

特点:指针的指向可以改变,指针指向的值不可以改变。


  a=10;//先将a赋值为10;

  const int *p=&a;

 *p=20; //这个是错误的,因为指向的值不可以改变

  p=&b;//这个是正确的,因为指针的指向可以改变,这个 *** 作是将本来指向a的指针指向了b的地址
3. const 修饰———指针常量:* const (指针的指向不可变)
int * const p=&a;

指针常量:

特点:指针的指向不可以改,指针指向的可以改。


  a=10;//先将a赋值为10;

  *p=20;//将p指向的值由10改为20;

  p=&b;//不可以将p指向的地址由a改为b;
4. const既修饰指针又修饰常量(指针的指向和值都不可变)

特点:包含上两种的所有特点,

指针的指向不可以改,指针指向的值也不可改。


5.总结:

     const * 常量指针———值不可变;

     * const 指针常量———指针指向不可变;

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/562285.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-01
下一篇 2022-04-01

发表评论

登录后才能评论

评论列表(0条)

保存