赞
踩
为什么存在动态内存分配?
内存分配有两个特点:
1. 空间开辟大小是固定的。
2. 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。
但是有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了。 这时候就只能试试动态存开辟了。
动态内存函数
1.malloc和free
void* malloc(size_t size);
void free(void* ptr);
malloc函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。以字节为单位。
free函数用来释放动态开辟的内存。
malloc和free都声明在 stdlib.h 头文件中。
2.calloc
void* calloc (size_t num, size_t size);
3.relloc
void* realloc (void* ptr, size_t size);
常见的动态内存错误
*切记:动态开辟的空间一定要释放,并且正确释放。 *
程序内存分配的几个区域
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。