MST

星途 面试题库

面试题:C语言中malloc和free函数的基本使用

请简述C语言中malloc函数和free函数的作用,并写一段代码示例,使用malloc分配一个包含10个整数的数组空间,然后使用free释放该空间。
46.5万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试

malloc函数的作用:在堆上分配指定字节数的内存空间,返回一个指向分配内存起始地址的指针。如果分配失败,返回NULL

free函数的作用:释放先前通过malloccallocrealloc分配的内存空间。传入的指针必须是由上述函数返回的指针,否则行为未定义。

以下是代码示例:

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

int main() {
    int *arr;
    // 使用malloc分配包含10个整数的数组空间
    arr = (int *)malloc(10 * sizeof(int)); 
    if (arr == NULL) {
        printf("内存分配失败\n");
        return 1;
    }
    // 使用数组
    for (int i = 0; i < 10; i++) {
        arr[i] = i;
    }
    // 释放空间
    free(arr); 
    arr = NULL; // 避免悬空指针
    return 0;
}