Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我定义了以下结构:
typedef struct { int a; } A; typedef struct { int b; } B; typedef struct { A a, B b[10]; } C;
而sizeof(C)将是sizeof(A) + sizeof(B) * 10?我想拥有结构 C 的整个大小,如何获得它?
sizeof(C)
sizeof(A) + sizeof(B) * 10
sizeof(C)至少会sizeof(A) + sizeof(B) * 10
由于对齐问题,聚合类型可能更大。在这种情况下可能不是,因为我们真的在谈论 11 个整数。
正如评论所示,只需在 C 的实例上使用 sizeof :
C c; sizeof(c);