void类型的使用:
(1)当函数不需要返回值时就使用void来定义,例如:void max(int a,int b);
(2)当函数不需要参数时使用,void max(void);
void指针类型:它不指向任何数据类型。
void *p,int *q,int a;
p = &a;//其他类型赋值给void类型,不用强制转换,系统自动转换
q = (int *)p;//强制转换成整形
void 类型指针可以转换为任意类型。
内存动态分配:
(1)malloc函数:void *malloc(unsigned int size);//函数原型
分配一个size字节的连续空间。
int *p;
p = (int *)malloc(100*sizeof(int));分配400字节。
(2)calloc函数:void * calloc(unsigned n,unsigned size);//函数原型。
分配n个长度为size字节的空间。
(3)free函数:void free(void *p);
释放指针p所指向的动态空间,以使这部分空间供其他变量使用。
(4)realloc函数:void * realloc(void *p,unsigned int size);
通过malloc开辟的空间,可以通过realloc重新分配,特别是当空间不足时,使用realloc扩大空间。