0

一些背景:iOS 应用程序开发。Xcode 中的 Objective-C 代码。

这个让我困惑了几个小时:

我创建了一个小结构:

struct EIVertex {
    GLKVector3      P;
    GLKVector3      N;
    GLKVector3      barycentric;
    GLKVector2      st;
};

GLKVector3并且GLKVector2是在 GLKit 框架中找到的类型。

这是奇怪的:

sizeof(GLKVector2) = 8
sizeof(GLKVector3) = 12
sizeof(EIVertex) = 48

的大小EIVertex48,但应该是44 (12 + 12 + 12 + 8 = 44)。

有人可以解释为什么会有这种大小差异吗?

4

1 回答 1

2

C 中的结构倾向于被填充以进行数据对齐。查看此页面了解更多信息。另请参阅此问题中的答案。

于 2013-04-10T23:38:51.647 回答