1.堆空间的本质
--备用的“内存仓库”,以字节为单位预留的可用内存
--程序可在需要时从“仓库”中申请使用内存(动态借)
--当不需要再使用申请的内存时,需要及时归还(动态还)
2.void*
--void类型时基础类型,对应的指针类型为void*
--void*时指针类型,其指针变量能保存地址
--但是void*指针无法获取内存中的数据(无长度信息)
eg:int a = 0;
int* pa = &a;
void* pa1 = &a;
printf("%d", *pa1);//错误
void*,不可以直接获取内存数据,void*指针可以和其他数据指针相互赋值
3.堆空间的使用
--工具库:stdlib.h
--申请:void* malloc(unsigned bytes)
--归还:void free(void* p)
eg:int* p = malloc(4);
*p = 8;
free(p);
小结:
void*指针只能保存地址,无法获取内存数据
void*指针可与其他数据指针相互赋值
malloc申请内存后,应该判断是否申请成功
free只能释放申请到的内存,不可以多次释放
标签:malloc,--,void,申请,C语言,内存,指针 From: https://www.cnblogs.com/ysnana/p/17114982.html