Dmitry E. Oboukhov -> [email protected] @ Thu, 18 Nov 2004
16:08:43 +0300:
>> > в смысле компилятор будет ругаться на применение любого индекса с ним?
>> > или что?
>>
>> Не обязан.
>>
>> Эту конструкцию применяют обычно в конце структур заголовок - данные,
>> чтобы можно было сослаться на начало данных без извращений с адресной
>> арифметикой.
DEO> то есть что-то вроде
DEO> struct
DEO> {
DEO> unsigned char byte[0];
DEO> int data1;
DEO> char data2;
DEO> ...
DEO> } a;
DEO> чтобы обращаться к a.data1 как к a.byte[0], a.byte[1]... ?
Нет. struct {
int data1;
char data2;
unsigned char byte[0];
}
и дальше в памяти расположены собственно данные из этого byte, а сколько
их - знает только приложение.
DEO> и что компилятор ТАКОЕ допускает?!
Ну да. Пол-винды так написано, например.
--
Artem Chuprina
RFC2822: <[EMAIL PROTECTED]>, FIDO: 2:5020/122.256, Jabber: [EMAIL PROTECTED]