C语言中的void和void指针-void*

void 关键字


  • 当函数返回值为空时,可以使用void。
void empty(int a);
  • 当函数参数列表为空时,可以使用void。
void empty(void);

void指针的作用


void指针:void *

可以用其指代任何类型的指针。

但不能用void指针直接进行操作;只能转换成对应类型指针后,才能操作

使用方式


enum Season {
  Spring, Summer = 18, Autumn, Winter
} season;
enum Season *s = &season;
void* vs = s;
//printf("vs= %d\n", vs); //error  不能直接用于操作
int* ns = (int*)vs; //转换成对应的 int型指针
printf("ns= %d\n", *ns);

void指针与函数


因其可以指代任何类型的指针。所以将void指针作为函数参数时,表示接受任意类型的指针参数

void test(void* a) {
  printf("void* --> %d\n", * (int*)a);
}
main() {
  int m = 10;
  int *p = &m;
  test(p);
}

猜你喜欢

转载自blog.csdn.net/jjwwmlp456/article/details/80270446