内存当中有几个区域:栈区,堆区,静态区。
动态内存在堆区
1.malloc 申请空间
int *p =(int*)malloc(10*sizeof(int));
2.calloc
int* p=(int *)calloc(10,sizeof(int))
3.realloc
void *reallco(void *ptr,size_z size)
调整动态开辟内存空间的大小,如果指向的空间之后有足够的内存空间可以追加,则直接追加
如果指向的空间之后没有足够的内存空间可以追加,则realloc函数会重新开辟一块新的空间,
并把原来内存数据拷贝过来,释放旧的内存空间,返回新开辟的内存空间地址。
3.free 用来释放动态开辟空间的
另外还有一个知识点 柔性数组
柔性数组有两点好处
1.方便内存释放。
2.提高访问速度。