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。