码迷,mamicode.com
首页 > 其他好文 > 详细

void与NULL详解

时间:2016-01-16 22:35:28      阅读:340      评论:0      收藏:0      [点我收藏+]

标签:

void 是 “空”类型(无值型),意思是这种类型的大小无法确定。

并不存在void类型的对象,所以也就不能声明void类型的对象或者将sizeof()运算符用于void类型,C++/C语言不能对一个大小未知的对象直接操作。

 

void 通常用来定义函数的返回类型,参数列表(无参)或者void指针。

 

void指针可以作为通用指针,因为它可以指向任何类型的对象。

 

void指针与NULL指针值之间的区别:

NULL是可以赋值给任何类型指针的值0,在C语言中它的类型为void*,而在标准的C++语言中由于允许从0到任何指针类型的隐式转换,因此NUll就是整数0.

即:

#ifdef __cplusplus

#define NULL 0

#else

#define NULL ((void*)0)

#endif

一个void*类型的指针是一个合法的指针,常用于函数参数中来传递一个函数与其调用者之间约定好的类型的对象地址,例如在线程函数中;而一个值等于NULL的指针虽也是一个合法的指针,但不是一个有效的指针。

void与NULL详解

标签:

原文地址:http://www.cnblogs.com/zhehan54/p/5136426.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!