理解void 和 void*

来源:互联网 发布:知乎写给女儿的 编辑:程序博客网 时间:2024/06/07 12:23

void :无类型  几乎只有“注释”和限制程序的作用

void*:无类型指针  可以指向任何类型的数据


void作用:对函数返回的限制,对函数参数的限制

void* :任何类型的指针都可以直接赋值给他,无需强制类型转换

void*p1;int*p2;p1 = p2;
即 “无类型” 可以包容 “有类型” ,而“有类型” 不能包容 “无类型”


void 的使用规则

(1)如果函数没有返回值,那么应声明为void类型

(2)如果函数无参数,那么应声明其参数为void (int fun(void);)

(3)小心使用void指针类型

(4)void 不能代表一个真实的变量  (void a;  //错误)