Есть компилятор C89. Есть драйвер интел в котором есть структура. В этой структуре есть массив которому задается размер 1. В процессе работы появляется указатель на большой блок данных. Затем он трансформируется в тип указанной структуры. На месте массива возникает большой блок данных. Вопросы. Как вы считаете 1. насколько такой код корректен? 2. все ли пишут так драйвера? 3. как писать нормальный код? 4. стоит перестать использовать C89?
указатель же. Ничего нигде не возникает - просто указатель на массив в структуре начинает указывать в другое место. Код корректен, так и пишут (и не только драйвера), это тоже нормальный код, пользуйтесь чем удобнее PS: доперло, и так тоже нормально.
Это про конструкцию вида any_shit array[] в конце структуры? Абсолютно законная конструкция, старинный костыль, используемый с седой древности для реализации динамических массивов.
Можно сказать что это стандартный способ, который очень часто применяется, Вы все равно ограниченны WDK, если это под Windows...