全栈开发
C语言
【Q166】在C语言中,void * 是什么意思

在C语言中,void * 是什么意思

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 167 (opens in a new tab)

Author 回答者: shfshanyue (opens in a new tab)

void 指无类型,常用在函数前,表示什么也不用返回。

* 代表一个指针,如 int *p 代表指针 p 指向一个整型,char *s 代表指针 s 指向一个字符串的首地址。

void * 代表一个可能指向任何类型的指针,如下代码所示:

#include <stdio.h>
 
int main() {
  void *p;
 
  // 使用它装一个整数
  int a = 3;
  p = &a;
  printf("%d", *(int *)p);
 
  // 使用它装一个字符串
  char s[] = "hello, world";
  p = s;
  printf("%s", p);
  return 0;
}

相关问题