动态内存管理
- 开源代码
- 2025-09-03 10:51:01

本章重点
1.为什么存在动态内存分配
2.动态内存函数的介绍
3.malloc free calloc realloc
4.常见的动态内存错误
一.为什么存在动态内存分配
二.动态内存函数的介绍
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> int main() { //开辟四十个字节的空间用来存放整形 int* p = (int*)malloc(40); //存放1~10 int i = 0; //记得判断p是否为空指针 if (p == NULL) { printf("%s\n", strerror(errno)); return 1; } for (i = 0;i < 10;i++) { p[i] = i + 1; } for (i = 0;i < 10;i++) { printf("%d ",p[i]); } //一定记得开辟完内存记得释放,以及置为空指针。 free(p); p = NULL; return 0; } int main() { int* p = (int*)calloc(10, sizeof(int)); if (p == NULL) { printf("%s\n", strerror(errno)); return 1; } free(p); p = NULL; return 0; }