MST

星途 面试题库

面试题:C语言匿名结构体在数据封装场景的应用

假设有一个简单的游戏场景,需要记录玩家的临时信息,包括一个整型的分数和一个字符型的角色标识,要求使用C语言匿名结构体进行数据封装,并编写代码实现对这些信息的初始化与打印操作,简述匿名结构体在此场景相较于普通结构体的优势。
13.1万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>

int main() {
    // 使用匿名结构体封装数据
    struct {
        int score;
        char roleID;
    } player = {100, 'A'};

    // 初始化
    player.score = 200;
    player.roleID = 'B';

    // 打印
    printf("分数: %d, 角色标识: %c\n", player.score, player.roleID);

    return 0;
}

匿名结构体在此场景相较于普通结构体的优势

  1. 简洁性:无需为结构体定义单独的类型名,直接在使用处声明并定义结构体变量,对于仅在局部使用一次的结构体数据,代码更加紧凑简洁,减少了命名空间的污染。例如在此游戏场景,这个结构体只用于记录临时玩家信息,无需为其专门命名。
  2. 数据封装性:匿名结构体使得数据封装更为紧密,不会在程序其他地方被意外复用,增加了数据的安全性和独立性,符合游戏场景中仅临时使用这些信息并对其进行独立管理的需求。