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