MST

星途 面试题库

面试题:C语言结构体动态内存分配错误处理之基本情况

在C语言中,定义一个包含两个int类型成员的结构体。使用`malloc`为该结构体分配动态内存,并写出如果`malloc`分配内存失败时的错误处理代码,要求打印出错误信息。
34.0万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// 定义结构体
typedef struct {
    int num1;
    int num2;
} MyStruct;

int main() {
    MyStruct *ptr;
    // 使用malloc为结构体分配动态内存
    ptr = (MyStruct *)malloc(sizeof(MyStruct));
    if (ptr == NULL) {
        // malloc分配内存失败,打印错误信息
        fprintf(stderr, "内存分配失败: %s\n", strerror(errno));
        return 1;
    }
    // 使用完后释放内存
    free(ptr);
    return 0;
}