typedef struct
{
char c1[1];
struct {
char cc1[1];
char cc2[0]; // last для вложенной структуры но не last для qqq
}two;
char c2[1];
}qqq;
qqq qwe;
void main( void )
{
qwe.c1[0] = 1;
qwe.c2[0] = 2;
qwe.two.cc2[0] = 3; // затёр двойку
printf( "c1[0] =%d\n"
"cc1[0]=%d\n"
"cc2[0]=%d\n"
"c2[0] =%d\n"
"size=%d",
qwe.c1[0],
qwe.two.cc1[0],
qwe.two.cc2[0],
qwe.c2[0],
sizeof(qqq));