动态内存分配
开辟空间方式的特点:
-
1.空间开辟大小是固定的。
-
2.数组在申明的时候,必须指定数组长度,它所需要的内存在编译时分配。
-
有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了,这时候就只能试试动态内存开辟了。
malloc函数
void* malloc(size_t size);
这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。
free函数
void free(void* ptr);
calloc函数
void* calloc(size_t num, size_t size);
realloc函数
void* realloc(void* ptr, size_t size);
柔型数组
typedef struct st_type
{
int i ;
int a [];//柔型数组成员
}type_a;