常量指针 指针常量

常量指针与指针常量

int a=1;

常量指针: int const *p=&a;

常量指针可以理解为指向常量的指针,不能通过指针来改变常量的值; E: *p=5; 错误 ,并且p指向的地址可以改变

int b=5;

指针常量:int *const p=&b;指针常量一旦指向某个地址空间,它的地址将永远不会改变,也可以用它来改变空间存储的值 *p=10 ;正确



#include<iostream>
using namespace std;
int main()
{
        int a=3;
        int b=1;
        int c=2;
        int const *p1=&b; // constant  point
        int *const p2=&c;//point constant
        cout<<"old address:"<<endl;
        cout<<" &a = "<< &a << " a = "<< a <<endl;
        cout<<" &b = "<< &b << " b = "<< b <<endl;
        cout<<" &c = "<< &c << " c = "<< c <<endl;
        cout<<" p1 = "<< p1 << " p2 = "<< p2 <<endl;
        cout<<" *p1 = "<< *p1 << " *p2 = "<< *p2 <<endl;

//      b=13;
        p1=&a; //const point can change
        //b=11;
        b=11;
    
        cout<<"now address:"<<endl;
        cout<<" p1 = "<< p1 << " *p1 = "<< *p1 <<endl;
    

        //c=22;
        *p2=22;
        cout<<" p2 = "<< p2 << "  *p2 = "<< *p2 <<endl;
        cout <<" c = "<< c <<endl;
        return 0;    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值