在 C/C++ 中,如何在不需要定义该结构类型的虚拟变量的情况下确定结构成员变量的大小?这是一个如何做错的示例,但显示了意图:
typedef struct myStruct {
int x[10];
int y;
} myStruct_t;
const size_t sizeof_MyStruct_x = sizeof(myStruct_t.x); // error
作为参考,如果您首先定义一个虚拟变量,这应该是如何找到“x”的大小:
myStruct_t dummyStructVar;
const size_t sizeof_MyStruct_x = sizeof(dummyStructVar.x);
但是,我希望避免仅仅为了获得“x”的大小而创建一个虚拟变量。我认为有一种巧妙的方法可以将 0 重铸为 myStruct_t 以帮助查找成员变量“x”的大小,但它已经足够长,以至于我已经忘记了细节,并且似乎无法在这方面得到很好的谷歌搜索. 你知道吗?
谢谢!