动态内存管理

本章重点

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;
}

相关推荐
leobertlan9 小时前
好玩系列:用20元实现快乐保存器
android·人工智能·算法
青梅橘子皮9 小时前
C语言---指针的应用以及一些面试题
c语言·开发语言·算法
浅时光_c10 小时前
3 shell脚本编程
linux·开发语言·bash
Lucis__10 小时前
一文读懂TCP通信机制:基于相关API构建可靠性连接
linux·网络·tcp/ip
_深海凉_10 小时前
LeetCode热题100-有效的括号
linux·算法·leetcode
鹿鸣天涯12 小时前
Xftp传输文件时,解决“无法显示远程文件夹”方法
运维·服务器·计算机
unDl IONA13 小时前
服务器部署,用 nginx 部署后页面刷新 404 问题,宝塔面板修改(修改 nginx.conf 配置文件)
运维·服务器·nginx
零号全栈寒江独钓13 小时前
基于c/c++实现linux/windows跨平台获取ntp网络时间戳
linux·c语言·c++·windows
Web极客码13 小时前
WordPress管理员角色详解及注意事项
运维·服务器·wordpress
左手厨刀右手茼蒿13 小时前
Linux 内核中的进程管理:从创建到终止
linux·嵌入式·系统内核