0
일부 컨텍스트 : iOS 앱 개발. Objective-C code in Xcode.이 C sizeof 함수는 다른 컨텍스트에서 다른 값을 표시하는 이유는 무엇입니까?
이 한 시간 동안 저를 혼란스럽게하고있다 :
struct EIVertex {
GLKVector3 P;
GLKVector3 N;
GLKVector3 barycentric;
GLKVector2 st;
};
GLKVector3
및 GLKVector2
가 GLKit 프레임 워크에서 발견되는 유형이 있습니다
이상한되는 것이다 : EIVertex
위한
sizeof(GLKVector2) = 8
sizeof(GLKVector3) = 12
sizeof(EIVertex) = 48
크기는 48 하지만 44 (12 + 12 + 12 + 8 = 44) 일 것이다.
누군가이 크기 차이가있는 이유를 설명해주세요.
메모리 레이아웃에 패딩이있을 수 있습니다. 패딩은 멤버의 주소가 일부 경계에 정확하게 정렬되도록하는 데 사용됩니다. 이 경우 가장 가능성이 높은 32 비트 경계입니다. –