{site_name}

{site_name}

🌜 搜索

C 动态内存是在程序运行时动态分配和释放的内存空间

编程 𝄐 0
c++动态内存管理,c++动态内存的申请与释放,c++动态存储,c++中动态分配内存空间使用,c语言动态内存管理,c++ 动态内存分配
C 动态内存是在程序运行时动态分配和释放的内存空间。与静态内存相比,它允许程序在运行时根据需要分配和管理内存。

在 C 中,动态内存可以通过两个函数来实现:malloc() 和 free()。malloc() 函数用于分配指定大小的内存空间,并返回一个指向该空间的指针。而 free() 函数则用于释放先前由 malloc() 分配的内存空间。

以下是一个简单的示例,展示了如何使用 malloc() 和 free() 动态分配和释放内存:


#include <stdio.h>
#include <stdlib.h>

int main() {
int *ptr;
int n = 5;

// 分配内存空间
ptr = (int*) malloc(n * sizeof(int));

if (ptr == NULL) {
printf("内存分配失败\n");
exit(0);
}

// 初始化分配的内存
for (int i = 0; i < n; i++) {
*(ptr + i) = i+1;
}

// 打印分配的内存
for (int i = 0; i < n; i++) {
printf("%d ", *(ptr + i));
}

// 释放内存空间
free(ptr);

return 0;
}


在这个例子中,我们首先声明了一个指向整数的指针 ptr,然后使用 malloc() 函数动态分配了 5 个整数的内存空间。如果内存分配失败,程序将显示错误消息并退出。

然后,我们使用循环初始化了分配的内存空间,并使用另一个循环打印出分配的内存空间中的值。

最后,我们使用 free() 函数释放了先前分配的内存空间以避免内存泄漏。