#pragma pack(push,1)
struct some_structure {
int some_field;
char data[0];
};
#pragma pack(pop)

Компилятор gcc 4.7.2, оптимизации отключены.
К какой области памяти мы обратимся, когда выполним data[0]?
a. к первому байту поля some_field
b. к последнему байту поля some_field
c. к первому байту после поля some_field
d. такое объявление структуры не скомпилируется

Ответы

Ответ дал: alexbloger
3
Верного ответа нету. Такой код скомпилируется, но при обращении выдаст ошибку. 

Но наиболее подходящий, это:
d. Такое не скомпилируется, т.к. размер символьного массива нулевой.
Вас заинтересует