打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
const 指针与指向const的指针
userphoto

2017.11.22

关注

  const指针是指针变量的值一经初始化,就不可以改变指向,初始化是必要的。其定义形式如下:

type *const 指针名称;

  声明指针时,可以在*前或后使用关键字const,也可在两个位置都使用。例如,下面都是合法的声明,但是含义大不同:

const int * pOne;    //指向整形常量 的指针,它指向的值不能修改

int const * pOne;    //等同于const int * pOne;

int * const pTwo;    //指向整形的常量指针 ,它不能在指向别的变量,但指向(变量)的值可以修改。 

const int *const pThree;  //指向整形常量 的常量指针 。它既不能再指向别的常量,指向的值也不能修改。

理解这些声明的技巧在于,查看关键字const在*号的前面还是后面 ,如果const在*h前面,则值是常量;如果const在*后面,则指针本身是常量。下面的代码有助于说明这一点:

const int *p1; 等效于 int const *p1;//the int pointed to is constant
int * const p2; // p2 is constant, it can't point to anything else
直观的理解为当const在*前面时,*和指针一起表示值,所以值为常量。当const在*
后面时,*和指针分离,const只修饰指针,所以指针为常量,值可以改变。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C语言之const常量(摘自C和指针)
指针初始化易错点
详解C语言指针与常量的关系
C语言教程-详解C语言中的常量指针
const指针
详解const int *p,int*const p,int const *p
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服