常量指针相关

一、写法

const int *a  和  int const* a 表示的意思一样,都表示一个指向const int类型的指针

语句错误案例

……
        const int num = 520;
        int *p = #
……

在赋值、初始化或参数传参的过程中,赋值号左边的类型应该比右边的类型限定更为严格,或至少是同样严格。在这里,使用指针 p,就可能间接地绕过 const 设定的防线。比如你可以通过指针改变num的值。编译器只能提出警告,不会报错。

在对void指针进行解引用之前,应该先进行强制转换类型,因为void*只保存地址,不记录跨度,如下:

...
int num = 111;
void *p;
p = #
printf("%d\n",*(int*)p);

特别提示

const始终限制紧随的那个标识符!!!

		const int num = 520;
        const int * const p = #
        const int * const *q = &p;
        //其中const限制的是*q和**q
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值