c语言学习

109 阅读1分钟

void的用法

1. void

void a;//错
void func(){
    //....
}//对

void不能单独修饰变量,会直接报错;但是可以修饰函数,表示无返回值

2. void *

void *pa;
//用void *修饰的变量,那么一定就是指针变量,
//这个指针变量可以接受任何指针类型的地址,并且也可以转换为任何类型的指针。

int a = 10;
void *pa = &a;
printf("%d \n", *(int *)pa);//输出 10  
//void *修饰变量含义相似,侧重点在于对指针的操作,返回值为void *,
//接收时转换为我们需要的类型,就可以解操作。
void *calloc(size_t num,size_t size);
void *malloc(size_t size);
void *realloc(void *ptr,size_t size);

//使用时,将返回值通过(int *)的方式转成int *类型的变量
int *p = (int *)malloc(5 * sizeof(int));