Void*

2020-11-03  本文已影响0人  杜攀

void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。但这并不意味着,void *也可以无需强制类型转换地赋给其它类型的指针。因为“无类型”可以包容“有类型”,而“有类型”则不能包容“无类型”。道理很简单,我们可以说“男人和女人都是人”,但不能说“人是男人”或者“人是女人”。下面语句编译出错:

void *p1;

int *p2;

p2 = p1;

提示“'=' : cannot convert from 'void *' to 'int *'”。

上一篇 下一篇

猜你喜欢

热点阅读