目录
一.malloc函数开辟动态存储区
二.calloc函数开辟动态存储区
三.realloc函数重新分配动态存储区
四.free发生崩溃的原因
五.memset函数
六.动态内存申请释放的流程
在C语言中我们开辟内存空间有两种方式:1.静态内存开辟2.动态内存开辟
静态内存开辟 动态内存开辟 位置 栈 堆 内存大小 固定 不固定 内存的释放 系统释放 程序员释放
一.malloc函数开辟动态存储区
函数原型:void*malloc(unsigned int size);
其作用是在内存的动态存储区中分配一个长度为size的连续空间。形参size的类型定位无符号整形(不允许为负数)。此函数的值(即“返回值”)是所分配区域的第一个字节的地址,或者说,此函数是一个指针型函数,返回的指针指向该分配域的第一个字节。如:
malloc(100);
注意指针的基类型为void,即不指向任何类型的数据,只提供一个纯地址。如果此函数未能成功地执行(例如内存空间不足),则返回空指针。