结构是C编程语言中的复合数据结构;它们由诸如int和指针之类的基元组成,它们以相邻的方式放置在内存中,例如数组。
我的问题是,结构本身是由什么构成的?它们是一种阵列吗?例如,哈希表可以实现为链表列表。以类似的方式,什么是实现的结构? 如果需要,请在x86汇编级别解释。谢谢。
答案 0 :(得分:0)
在程序集级别结构可归结为由对应于结构成员的偏移量访问的地址。
根据对齐规则和存储类内存分配给结构的实例。
示例:
struct A
{
int a,
char b
}a1;
在上面的情况下,如果你写a1.b = 5
,它的汇编等价物将是:
MOV 5 TO ADDRESS OF a1 + 4
//假设整数大小为4