const void *a 与 void *const a 的差别

const void *a
这是定义了一个指针a,a能够指向随意类型的值,但它指向的值必须是常量。

在这样的情况下,我们不能改动被指向的对象,但能够使指针指向其它对象。

比如:

const void *a;a=0x123;//是编译通只是的,由于a中放的是个const值。

const值是不能被改变的。

const int m=1; const int n=2;

a=&m; a=&n;//编译能够通过。

void* const a
这是定义了一个const指针a。a能够指向随意类型的值,但a是指向某个对象的常量指针。

我们不能改动指针中存储的地址。但能够改动指针指向的对象。

比如:

void* const a;这个定义:*a=0x123;是没问题的,

可是a=(void*)&b;是不行的。由于a是const变量。

如:

int m=1; nt n=2;

a=&m; a=&n;//编译不成功。

能够这么说。const void a;中const修饰的是a。在void* const a中,const 修饰的是a。

参考文献:
https://www.cnblogs.com/bhlsheji/p/5133356.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值