C语言—— void 的使用
1、void func(int a,char *b)
当函数不需要返回值值时,必须使用void限定,这就是我们所说的第一种情况。
2、int func(void)
当函数不允许接受参数时,必须使用void限定,这就是我们所说的第二种情况。
3、void 指针的使用规则
- void 指针可以指向任意类型的数据,就是说可以用任意类型的指针对 void 指针对 void 指针赋值。
int *a;
void *p;
p=a;
- 如果要将 void 指针 p 赋给其他类型的指针,则需要强制类型转换
float *p1;
int *p2;
p1 = p2;
//其中p1 = p2语句会编译出错,
//提示“'=' : cannot convert from 'int *' to 'float *'”,必须改为:
p1 = (float *)p2;
4、特殊的在内存的分配中我们可以见到 void 指针使用:
内存分配函数 malloc 函数返回的指针就是 void * 型,用户在使用这个指针的时候,要进行强制类型转换,也就是显式说明该指针指向的内存中是存放的什么类型的数据 (int *)malloc(1024) 表示强制规定 malloc 返回的 void* 指针指向的内存中存放的是一个个的 int 型数据。
void*介绍
void* 就是一个任意类型的指针,和void恰恰相反,void* 它并不是空,也不是什么都不返回,而是可以返回一个任意类型的指针,这里需要谨记的有两个点,一就是任意类型,二是指针。
1、(14条消息) void*作为函数返回类型(C语言)_void* 返回值_Mye_Strive的博客-CSDN博客
2、
void *qoi_encode(const void *data, const qoi_desc *desc, int *out_len) {
...
return bytes;
}