C/C++教程

【C语言】动态内存分配

本文主要是介绍【C语言】动态内存分配,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • 一、动态内存的函数
    •     1.1 malloc和free
    •     1.2 calloc
    •     1.3 realloc
  • 二、常见的错误
    •     2.1 动态开辟后忘记检测
    •     2.2 动态开辟后忘记释放(内存泄漏)
    •     2.3 动态开辟空间越界访问
    •     2.4 free释放非动态开辟内存
    •     2.5 free释放一部分
    •     2.6 free多次释放


    常规开辟空间的方式,开辟出空间的大小是固定的(尤其是数组的开辟需要预先给定空间),而动态内存分配可以解决这个问题。
在这里插入图片描述

一、动态内存的函数

    1.1 malloc和free

1️⃣ malloc:

void* malloc (size_t size);

    头文件stdlib.h
    功能:向堆区申请一块大小为size连续的空间,并返回该空间的起始地址。

  • 申请成功,返回该空间的指针。
  • 申请失败,返回NULL

这篇关于【C语言】动态内存分配的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!