C语言—— void 的使用

发布时间 2023-06-15 15:32:12作者: 森是林上木

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 型数据。