const修饰指针, 常量指针 指针常量

首先我们来看下以下语法你是否能分清是 指针只读 还是对象(指针所指向的值)只读 ?


    double dou1 = 11.0;

    const double *cptr1;                
    const double* cptr11;              

    double *const cptr2= &dou1;         
    double* const cptr22 = &dou1;     

    double const *cptr3;                
    double const* cptr33;           

    const double* const cptr5= &dou1;   
    const double *const cptr55 = &dou1; 
    
    const double const* cptr6;         
    const double const *cptr66;          

答案:

    //*号在空格前 和 *号在空格后 意思是一样的
    double dou1 = 11.0;

    const double *cptr1;                 //对象只读,指针可读写
    const double* cptr11;                //对象只读,指针可读写

    double *const cptr2= &dou1;            //对象可读写,指针只读
    double* const cptr22 = &dou1;         //对象可读写,指针只读

    double const *cptr3;                 //对象只读,指针可读写
    double const* cptr33;                //对象只读,指针可读写

    const double* const cptr5= &dou1;      //对象只读,指针只读
    const double *const cptr55 = &dou1;   //对象只读,指针只读
    
    const double const* cptr6;      //对象只读,指针可读写  这里的两个const 都是修饰double对象的
    const double const *cptr66;    //对象只读,指针可读写  这里的两个const 都是修饰double对象的

从上面的定义可以找到一个规律

1,const 直接和double在一起 中间没有别的字符,则 double对象(对象:指针所指向的值)只读,指针可读写。

2,const 和double中间只有有*号 则 指针只读,对象(对象:指针所指向的值)可读写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值