C动态内存分配

全局变量:静态存储区

非静态局部变量(包括形参):动态存储区------>栈(stack)

建立内存动态分配区域,存放临时数据---------->堆(heap)由于未在声明部分定义他们为变量,只能通过指针来引用。

输入样式:C语言模式:#include <stdlib.h>
 

1函数名称:calloc

函数原型: void calloc(unsigned n,unsigned size);
函数功能: 分配n个数据项的内存连续空间,每个数据项的大小为size
函数返回: 分配内存单元的起始地址,如果不成功,返回0

2函数名称:free

函数原型: void free(void* p);
函数功能: 释放p所指的内存区
函数返回:
参数说明: p-被释放的指针

3函数名称:malloc

函数原型: void * malloc(unsigned size);
函数功能: 分配size字节的存储区
函数返回: 所分配的内存区地址,如果内存不够,返回0

4函数名称: realloc

函数原型: void * realloc(void * p,unsigned size);
函数功能: 将p所指出的已分配内存区的大小改为size,size可以比原来分配的空间大或小
函数返回: 返回指向该内存区的指针.NULL-分配失败
原文地址:https://www.cnblogs.com/zle1992/p/5310909.html