C语言 void数据类型
Posted 流楚丶格念
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 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);
}
以上是关于C语言 void数据类型的主要内容,如果未能解决你的问题,请参考以下文章
C 语言数据类型本质 ( void 关键字作用 | 数据类型封装 | 作为 参数 或 返回值 代表无 | void* 指针赋值与被赋值 | void 类型变量不存在 )