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;
}

 

posted @ 2023-06-15 15:29  森是林上木  阅读(797)  评论(0编辑  收藏  举报