动态内存管理

本章重点

1.为什么存在动态内存分配

2.动态内存函数的介绍

3.malloc free calloc realloc

4.常见的动态内存错误

一.为什么存在动态内存分配

二.动态内存函数的介绍

cpp 复制代码
#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;
}
cpp 复制代码
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;
}

相关推荐
影视飓风TIM5 分钟前
Linux 进程信号原理与剖析
linux·运维·服务器
姜鱼问生9 分钟前
fail2ban 实战:从默认配置到生产可用
后端·算法·架构
垆边人似月.15 分钟前
华为题:全排列
算法·深度优先·图论
缘友一世23 分钟前
开源 Linux截图工具闪构(SnapForge)
linux·运维·ubuntu·开源·截图
杜 硕24 分钟前
快速排序详解01
数据结构·算法·排序算法
iCxhust26 分钟前
先想好如何测试:让测试驱动你的程序设计
运维·服务器·软件工程·编程的艺术
Matlab程序猿39 分钟前
【MATLAB源码-第459期】基于matlab的D-H模型与阻尼最小二乘逆运动学的六自由度机械臂五次轨迹规划及动力学前馈PD控制仿真。
人工智能·算法·matlab·d-h建模·六自由度串联机械臂
信奥卷王41 分钟前
[GESP202606 六级] 满二叉树
数据结构·算法
积流成海1 小时前
用代码实现哈希计算器:Web Crypto API 实战
前端·算法·哈希算法·哈希函数·盘子工具站
Philtell1 小时前
突然连接不上内网服务器的问题
运维·服务器