AdaMaYun 发表于 2024-3-28 19:52

动态内存分配malloc() 示例


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

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

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

    // 使用分配的内存
    for (int i = 0; i < 10; ++i) {
      dynamicArray = i * i;
    }

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

    // 释放内存
    free(dynamicArray);
    dynamicArray = NULL;

    return 0;
}

运行结果

在这个例子中,我们首先使用 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

动态内存分配比较占用内存吧
页: [1]
查看完整版本: 动态内存分配malloc() 示例