const void *a是什么意思
答案:3 悬赏:10 手机版
解决时间 2021-02-18 07:42
- 提问者网友:十年饮冰
- 2021-02-18 00:50
const void *a是什么意思
最佳答案
- 五星知识达人网友:woshuo
- 2021-02-18 01:42
const与define。两者都可以用来定义常量,但是const定义时,定义了常量的类型,所以更精确一些。
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
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的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
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;//编译可以通过。
全部回答
- 1楼网友:人间朝暮
- 2021-02-18 02:56
比如:
const void *a;
*a=0x123;//是编译通不过的,因为*a中放的是个const值。const值是不能被改变的。
int b;
void const *a;
这个定义:*a=0x123;是没问题的,但是a=(void*)&b;是不行的,因为a是const变量。
可以这么说,const void *a;中const修饰的是*a。在void const *a中,const 修饰的是a。
希望你明白。
const void *a;
*a=0x123;//是编译通不过的,因为*a中放的是个const值。const值是不能被改变的。
int b;
void const *a;
这个定义:*a=0x123;是没问题的,但是a=(void*)&b;是不行的,因为a是const变量。
可以这么说,const void *a;中const修饰的是*a。在void const *a中,const 修饰的是a。
希望你明白。
- 2楼网友:长青诗
- 2021-02-18 02:01
这定义了一个指针a,a可以指向任意类型的值,但它指向的值必须是常量。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯