malloc 函数简介

malloc 是 C 标准库中的函数,用于动态分配内存。它的函数原型如下:

void *malloc(size_t size);

其中,size 是需要分配的字节数,函数返回值为分配内存的起始地址,如果分配失败,则返回 NULL。

下面是一个使用 malloc 动态分配内存的例子:

#include<stdio.h>
#include<stdlib.h>
int main() 
{
    int n;
    scanf("%d", &n);
    
    // 使用 malloc 分配长度为 n 的整型数组空间
    int* arr = (int*) malloc(n * sizeof(int));
    
    if (arr == NULL) {
        printf("Allocation failed.\n");
        return-1;
    }
    
    // 对数组赋值
    for (int i = 0; i < n; i++) 
    {
        arr[i] = i + 1;
    }
    
    // 输出数组内容
    for (int i = 0; i < n; i++)
    {
        printf("%d ", arr[i]);
    }
    printf("\n");
    
    // 释放内存
    free(arr);
    
    return0;
}

上述程序先从标准输入读取一个整数 n,然后使用 malloc 分配一个长度为 n 的整型数组空间。如果分配成功,就对数组赋值,输出数组内容,最后释放内存。需要注意的是,使用 malloc 分配内存后,必须在不需要使用时手动调用 free 函数释放内存,以避免内存泄漏的问题。