文章目录
- 定义
- 应用
- 应用示例:
- 1.void修饰函数参数和函数返回
- 2. 不能定义void类型变量
- 3. void* 可以指向任何类型的数据,被称为万能指针
- 4. void* 常用于数据类型的封装
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);
}