目录
1.malloc——动态内存开辟函数——开辟后未初始化,内存中存放的是随机值。
calloc 函数 free(成对出现)使用需要注意的事项与malloc都相同。
-
动态内存管理
-
动态内存函数malloc free (成对出现)
1.malloc——动态内存开辟函数——开辟后未初始化,内存中存放的是随机值。
void* malloc(size_t size)// ——函数原型
这个函数向内存申请一块连续可用空间,并返回指向这块空间的指针。
-如果开辟成功,则返回一个指向开辟好空间的指针。
-如果开辟失败,则反回一个NULL指针,因此malloc的返回值一定要做完检查再使用。
-返回类型是void*,所以malloc函数并不知道开辟的空间类型,具体再使用者使用的时候决定(强转)。
-如果 size为0,则malloc的行为是标准未定义的,取决于编译器。
2.free——动态内存回收释放函数
c语言提供了free函数,专门用来做动态内存的释放和回收的
void* free(void* ptr)——函数原型 (ptr)是malloc返回的那个指向开辟空间的指针。
free(ptr)后需要把ptr指针置为NULL。
free函数用来释放动态开辟的内存。
-如果参数ptr指向的空间不是动态内存所开辟的,那么free函数的行为未定义。
-如果ptr是NULL指针,则函数什么都不干。
malloc free 函数都在头文件stdlib.h头文件中。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdlib.h>
#include <stdio.h>
#include <stddef.h>
#include