c/c++引入void * 指针的作用主要是:一是用于函数返回,二是用于函数参数的传递。
所谓void指针指的是该指针可以指向任何数据类型的地址,比如
void * p;
int * pInt;
p=pInt; // 合法
但是不能将void指针赋值给具体类型的指针,下面的语句是非法的:
pInt=p;
void指针只支持几种有限的操作:
(1)与另一个指针进行比较;
(2)作为函数返回值
(3)向函数传递void指针
(4)给另一个void 指针赋值
其实归结起来还是指针的属性问题:指针指向的类型,决定了如何对指针进行解引用时的操作,该类型决定了解析时的内存
大小。
为了加深理解,给段代码: