MST

星途 面试题库

面试题:C语言结构体成员访问的常规与特殊情况

假设有如下结构体定义:struct Student { int id; char name[20]; float score; }; struct Student stu = {1, "Tom", 85.5f}; 请写出至少两种访问stu结构体中name成员的方法,并解释在不同场景下哪种方法更合适。
37.2万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
  1. 通过结构体变量直接访问

    • 代码示例:printf("%s\n", stu.name);
    • 解释:这种方法简单直接,适用于大多数常规场景,例如在结构体所在作用域内直接获取成员数据并进行输出、赋值等基本操作。
  2. 通过结构体指针访问

    • 代码示例:
struct Student *ptr = &stu;
printf("%s\n", ptr->name);
- 解释:当需要将结构体作为参数传递给函数,并且在函数内部需要频繁访问结构体成员时,使用指针访问效率更高,因为传递指针比传递整个结构体开销小。同时,在实现链表、树等数据结构时,通过指针访问结构体成员是非常常见的操作方式。