指针常量和常量指针复习

本文介绍了指针常量和常量指针的概念,指针常量是指指针的指向固定,但可修改其指向的值,而常量指针则是指针指向的值不可修改,但可改变指针的指向。文中通过代码示例展示了两者的使用和限制,并提到了指向常量的指针常量的情况。此外,还提供了一种记忆方法,即根据const关键字的位置判断常量和指针的性质。
摘要由CSDN通过智能技术生成

指针常量和常量指针复习

关于指针常量和常量指针,以前经常搞错,今天系统的整理一下。方便自己学习和复习,如大家发现问题随时指正,谢谢!

指针常量

指针常量即指针的指向是固定的,但可以通过指针修改指针指向的值。形式为:

int * const p = &a;

p为指针,const直接修饰指针p。
下面附上代码供参考。

    int a = 10;
    int b = 20;
    int * const p = &a;
    *p = 20;  //正确 可以通过指针改变指针的指向值   a变为了20
    cout<<a<<endl;
    p = &b;   //错误  指针常量的指针指向一旦初始化无法修改

常量指针

常量指针即指针指向的是常量,可以改变指针的指向,但无法通过该指针改变指针指向的值。形式为:

const int * p = &a;
或
int const * p = &a;

下面附上代码供参考。

    int age = 39;
    int year = 2020;
    const int *d = &age;
    d = &year;  // 正确 常量指针可以改变指针的指向 *d变成了2020
    cout<<*d<<endl;
    *d = 200;   //错误 常量指针无法改变指针指向的值

指向常量的指针常量

指向常量的指针常量即指针的指向无法修改,指针指向的值也无法修改。形式为:

const int* const p = &a;

帮助记忆

指针常量和常量指针可以按照的位置区分,离变量名称更近则为指针常量,离指针类型名更近则为常量指针。如int * const p = &a;,const距变量名p更近,则为指针常量;const int * p 和int const p,cosnt和变量名p之间隔了,距指针类型名int更近则为常量指针。
另外,还可以按照
和const的位置来区分,int * const p中* 在const左侧,为指针常量。而const int * p 和int const p中const在 的左侧,为常量指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值