内存的动态分配:
全局变量是分配在内存中的静态存储区的,非静态的局部变量(包括形参)是分配在内存中的动态存储区的,这个存储区是一个称为栈(stack)的区域。C语言允许建立动态存储分配区域,存放临时用的数据。这些临时数据存放在一个特别的存储区,称为堆(heap)区。
建立内存的动态分配:
1:用malloc函数开辟动态存储区
其函数原型为
void *malloc(unsigned int size);
在内存的动态存储区分配一个长度为size的连续空间,形参size的类型为无符号整形。
2:用calloc函数开辟动态存储区
其函数原型为
void *calloc(unsigned n,unsigned int size);
在内存中分配n个长度为size的连续空间。
3:用realloc函数重新分配动态存储区
其函数原型为
void *realloc(void *p,unsigned int size);
4:用free函数释放动态存储区
其函数原型为
void free(void *p);