在 C 语言中,'malloc' 和 'free' 是用于动态分配和释放内存的函数。

'malloc' 函数用于动态分配内存。它接受一个参数,即所需内存的字节数,并返回一个指向分配内存的指针。如果内存分配成功,则返回指向分配内存的指针;如果内存分配失败,则返回空指针。

语法:'void* malloc(size_t size);'

  • 'size_t' 是一个无符号整数类型,表示所需内存的字节数。
  • 'void*' 是一个通用指针类型,可以指向任何类型的数据。

示例:

int* ptr = (int*)malloc(10 * sizeof(int)); // 分配 10 个 int 大小的内存空间
if (ptr == NULL) {
    // 内存分配失败
} else {
    // 内存分配成功
    // 可以使用 ptr 指针来访问和操作分配的内存
}

'free' 函数用于释放先前通过 'malloc' 函数动态分配的内存。它接受一个指向动态分配内存的指针,并释放该内存。

语法:'void free(void* ptr);'

  • 'void*' 是一个通用指针类型,指向要释放的内存。

示例:

int* ptr = (int*)malloc(10 * sizeof(int)); // 分配 10 个 int 大小的内存空间
// 使用 ptr 指针来访问和操作分配的内存

free(ptr); // 释放先前分配的内存

需要注意的是,使用 'malloc' 函数分配的内存必须通过 'free' 函数来释放,否则会出现内存泄漏的问题。另外,释放已经释放的内存或非动态分配的内存会导致未定义的行为。

C语言中的内存管理:malloc 和 free 函数详解

原文地址: https://www.cveoy.top/t/topic/plQS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录