定义
void字面意思是”无类型”,void*无类型指针,无类型指针可以指向任何类型的数据。
void定义变量是没有任何意义的,当你定义void a,编译器会报错。
应用
void真正用在以下两个方面:
- 对函数返回的限定;
- 对函数参数的限定;
- 数据类型的封装(void 万能类型)
应用示例:
1.void修饰函数参数和函数返回
// void修饰函数参数和函数返回 void test01(void){ printf("hello world"); }
2. 不能定义void类型变量
下面的程序会报错
// 不能定义void类型变量 void test02(){ void val; //报错 }
3. void* 可以指向任何类型的数据,被称为万能指针
// void* 可以指向任何类型的数据,被称为万能指针 void test03(){ int a = 10; void* p = NULL; p = &a; printf("a:%d\n",*(int*)p); char c = 'a'; p = &c; printf("c:%c\n",*(char*)p); }
4. void* 常用于数据类型的封装
// void* 常用于数据类型的封装 void test04(){ //void * memcpy(void * _Dst, const void * _Src, size_t _Size); }