C动态内存分配

Posted 张乐乐章

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-分配失败

以上是关于C动态内存分配的主要内容,如果未能解决你的问题,请参考以下文章

怎么查看动态分配内存空间的大小(c语言)。

动态内存分配

动态内存分配(c语言)

C语言动态内存分配

c语言 动态内存规划

c语言 动态内存规划