打印
[应用方案]

动态内存分配malloc() 示例

[复制链接]
3206|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

#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 * i;
    }

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

    // 释放内存
    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 | 只看该作者
动态分配的内存会被无意中非法占用吗

使用特权

评论回复
5
paotangsan| | 2024-4-3 12:59 | 只看该作者
动态分配的空间最大能达到多少

使用特权

评论回复
6
renzheshengui| | 2024-4-3 14:04 | 只看该作者
这个函数一般需和free函数配对使用

使用特权

评论回复
7
guanjiaer| | 2024-4-3 23:53 | 只看该作者
这个动态分配内存的函数是c语言的还是c++语言的啊

使用特权

评论回复
8
OKAKAKO| | 2024-4-24 14:07 | 只看该作者
动态内存分配比较占用内存吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

240

主题

1800

帖子

3

粉丝