void是类型修饰符,表示没有值可以获得。(类型) 意思是类型的强制转换。
- 用于函数声明;
void foo(int a);//表示函数没有返回值
int foo(void);//表示函数没有参数
- void 类型表达式
(void)FILENAME(“stdlib.h”)//没有返回值的表达式
(void)foo();//foo函数含有返回值,但是使用void的类型强制抛弃了其返回值。
(void)(表达式); //表达式可以是宏定义、关系表达式等。强制转换表达式没有返回类型,消除warning和error
例如:(void)(&_a == &_b)
例如:#define POP(low, high) ((void) (–top, (low = top->lo), (high = top->hi)))
int foo(int a)
{
(void)a; //消除编译器对没有引用a的警告
/*
others codes
*/
}
- void 和指针
void类型指针,存储了指针对象的地址,但是没有对象的类型信息。可以用作多用途指针。
例如glibc库中qsort函数的参数 void *const pbase。可以根据参数size,使用pbase指针对不同类型的数据进行排序。
参考链接:https://blog.csdn.net/hxj_csdn/article/details/80890651