C 标准库 - <stdlib.h>

C 语言 malloc() 函数用于在堆上动态分配指定字节数的内存,返回指向该内存的指针。

原型

void *malloc(size_t size);

分配失败时返回 NULL。分配的内存内容未初始化,需用 memset 或 calloc 清零。

参数

  • size - 要分配的字节数。

示例

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

int main() {
    int *arr;
    arr = (int *)malloc(5 * sizeof(int));
    if (arr == NULL) {
        printf("内存分配失败\n");
        return 1;
    }
    for (int i = 0; i < 5; i++) arr[i] = i * 10;
    for (int i = 0; i < 5; i++) printf("%d ", arr[i]);
    printf("\n");
    free(arr);
    return 0;
}

输出:

0 10 20 30 40

注意事项

malloc 返回 void*,通常需类型转换。用完必须 free,检查返回值是否为 NULL。