MST

星途 面试题库

面试题:C语言中动态分配结构体内存后如何初始化简单数据成员

假设有如下结构体定义:struct Student { int id; char name[20]; }; 请编写代码动态分配一个Student结构体的内存,并对id初始化为100,name初始化为"Tom",最后释放该内存。
15.8万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

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

int main() {
    // 动态分配一个Student结构体的内存
    struct Student *student = (struct Student *)malloc(sizeof(struct Student));
    if (student == NULL) {
        printf("内存分配失败\n");
        return 1;
    }
    // 初始化id和name
    student->id = 100;
    strcpy(student->name, "Tom");

    // 打印信息
    printf("id: %d, name: %s\n", student->id, student->name);

    // 释放内存
    free(student);
    student = NULL;

    return 0;
}