2

我定义了以下结构:

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 的整个大小,如何获得它?

4

2 回答 2

2

sizeof(C)至少会sizeof(A) + sizeof(B) * 10

由于对齐问题,聚合类型可能更大。在这种情况下可能不是,因为我们真的在谈论 11 个整数。

于 2013-05-27T15:43:45.050 回答
1

正如评论所示,只需在 C 的实例上使用 sizeof :

C c;
sizeof(c);
于 2013-05-27T15:43:12.993 回答