Массив произвольного размера

Discussion in 'LANGS.C' started by NoName, Sep 6, 2011.

  1. NoName

    NoName New Member

    Blog Posts:
    0
    Есть компилятор C89.
    Есть драйвер интел в котором есть структура. В этой структуре есть массив которому задается размер 1.
    В процессе работы появляется указатель на большой блок данных. Затем он трансформируется в тип указанной структуры. На месте массива возникает большой блок данных.

    Вопросы. Как вы считаете
    1. насколько такой код корректен?
    2. все ли пишут так драйвера?
    3. как писать нормальный код?
    4. стоит перестать использовать C89?
     
  2. FatMoon

    FatMoon New Member

    Blog Posts:
    0
    указатель же. Ничего нигде не возникает - просто указатель на массив в структуре начинает указывать в другое место. Код корректен, так и пишут (и не только драйвера), это тоже нормальный код, пользуйтесь чем удобнее :)

    PS: доперло, и так тоже нормально.
     
  3. CyberManiac

    CyberManiac New Member

    Blog Posts:
    0
    Это про конструкцию вида any_shit array[] в конце структуры? Абсолютно законная конструкция, старинный костыль, используемый с седой древности для реализации динамических массивов.
     
  4. h0t

    h0t Member

    Blog Posts:
    0
    Можно сказать что это стандартный способ, который очень часто применяется, Вы все равно ограниченны WDK, если это под Windows...