C/C++에서 구조체 유형의 더미 변수를 정의하지 않고도 구조체에 대한 멤버 변수의 크기를 어떻게 결정합니까? 여기에 잘못 수행하는 방법의 예이지만, 의도을 보여줍니다구조체 멤버의 크기를 결정하는 일반적인 C/C++ 매크로는 무엇입니까?
myStruct_t dummyStructVar;
const size_t sizeof_MyStruct_x = sizeof(dummyStructVar.x);
: 참고로
typedef struct myStruct {
int x[10];
int y;
} myStruct_t;
const size_t sizeof_MyStruct_x = sizeof(myStruct_t.x); // error
을, 이것은 당신이 먼저 더미 변수를 정의하면 'X'의 크기를 찾는 방법이어야한다
그러나 'x'의 크기를 얻기 위해 더미 변수를 만들지 않으려합니다. 멤버 변수 'x'의 크기를 찾는 데 도움이되는 myStruct_t로 0을 재 작성하는 영리한 방법이 있다고 생각하지만 세부 사항을 잊어 버린만큼 길었고 좋은 Google 검색을 얻을 수없는 것 같습니다. . 아십니까?
감사합니다.
(태그가 무슨 말을입니다) C++에서
Cool!이것은 C++에서 나를 위해 일했습니다. C 언어로도 할 수있는 방법이 있습니까? –
및 C? 나는 이것을 필요로하지 않지만 정말로 알고 싶다 :-) – p4bl0
+1은 매크로를 사용하지 않고 혼란을 가중시킨다. – Kredns