[应用方案] 动态内存分配malloc() 示例

[复制链接]
3739|7
 楼主| AdaMaYun 发表于 2024-3-28 19:52 | 显示全部楼层 |阅读模式

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

  3. int main() {
  4.     // 分配一个能存储10个整数的空间
  5.     int *dynamicArray = (int*)malloc(sizeof(int) * 10);

  6.     if (dynamicArray == NULL) {
  7.         printf("Memory allocation failed.\n");
  8.         return 1;
  9.     }

  10.     // 使用分配的内存
  11.     for (int i = 0; i < 10; ++i) {
  12.         dynamicArray[i] = i * i;
  13.     }

  14.     // 输出动态数组的内容
  15.     for (int i = 0; i < 10; ++i) {
  16.         printf("Element at index %d: %d\n", i, dynamicArray[i]);
  17.     }

  18.     // 释放内存
  19.     free(dynamicArray);
  20.     dynamicArray = NULL;

  21.     return 0;
  22. }


运行结果
1.png
在这个例子中,我们首先使用 malloc() 分配了一个能存储10个整数的空间。然后,我们填充这个动态数组,并打印其内容。最后,我们调用 free() 释放内存,并将指针置为 NULL,防止后续误用。
tpgf 发表于 2024-4-3 10:12 | 显示全部楼层
这种动态的分配方式如何对空间进行回收呢
heimaojingzhang 发表于 2024-4-3 10:48 | 显示全部楼层
多次调用内存分配函数会不会导致内存产生很多碎片啊
keaibukelian 发表于 2024-4-3 11:40 | 显示全部楼层
动态分配的内存会被无意中非法占用吗
paotangsan 发表于 2024-4-3 12:59 | 显示全部楼层
动态分配的空间最大能达到多少
renzheshengui 发表于 2024-4-3 14:04 | 显示全部楼层
这个函数一般需和free函数配对使用
guanjiaer 发表于 2024-4-3 23:53 | 显示全部楼层
这个动态分配内存的函数是c语言的还是c++语言的啊
OKAKAKO 发表于 2024-4-24 14:07 | 显示全部楼层
动态内存分配比较占用内存吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

305

主题

2637

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部