Why do some structures end with an array size 1?

Win32 API나 COM의 variable-length struct를 사용해보신 분이라면, 익숙하실, size 1의 array member에 관한 설명입니다.

Why do some structures end with an array size 1?
http://blogs.msdn.com/oldnewthing/archive/2004/08/26/220873.aspx

한편, Zero-length array (정확히는 Flexible array member)의 지원은 C99부터군요. gcc에서는 3.0부터 extension으로 C/C++에서 지원해왔다고 하는군요.
http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html

C++ standard 쪽에도 병합되었는지는… 모르겠습니다. C++98 까지는 분명히 지원되지 않는 것 같습니다. C++03쪽을 확인해보고 업데이트 하겠습니다.
http://david.tribble.com/text/cdiffs.htm

댓글 달기

이메일 주소는 공개되지 않습니다.

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.