如何在运行时从内存访问C结构成员?

Amo*_*kar 2 c struct

我们有一个C结构说

struct info{
    int no;
    char first_name[20];
    char last_name[20];
    char status;
}
Run Code Online (Sandbox Code Playgroud)

在运行时,当我们试图通过他们的名字来访问这些成员,说info_var.noinfo_var.first_name,或者我们用的指针结构,info_ptr->no或者info_ptr->first_name,如何在这些个别成员访问?

我的意思是,结构将按成员的形式存储以及一些必要的填充,但运行时或编译器如何在编译时进行替换,如何通过其名称访问这些个别成员?

我知道很多都是依赖于实现的,但是如果有人可以对任何实现有所启发,或者只是给出一个概述它会非常好.

Con*_*ius 5

在C中,工作由编译器完成.它将结构的数据成员编译为内存偏移量,并将它们应用于结构的基址.

对于变量名称没有动态查找,例如Python