|
WinAVR(Ну или C) + Массивы в структуре, Массивы в структуре. |
|
|
|
Jul 30 2007, 11:33
|

Местный
  
Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021

|
При таком определении компилятор ругается: Код typedef struct { const char Engl[]; const char Russ[]; } LangStruct PROGMEM; Мол переменной длинны, массив не в конце. Собственно вопрос, а возможно ли вообще в С размещать таким образом два массива?
|
|
|
|
|
 |
Ответов
|
Jul 30 2007, 11:53
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Можно сделать немного по другому, если Вы не знаете точно, какой длины массивы будут Код typedef struct { const char *pEngl; /* указатель на массив Engl */ const char pRuss; /* указатель на массив Russ */
} LangStruct PROGMEM; А далее в конструкторе (функции инициализации) указателям присваивать конкретные адреса массивов... Еще бы я добавил, в таком случае, в структуру размеры массивов. [/quote] Цитата(Quasar @ Jul 30 2007, 19:48)  Почему это ни одного? Код typedef struct { void *Next; void *Previous; void *Parent; void *Sibling; FuncPtr SelectFunc; FuncPtr EnterFunc; const char Text[]; } Menu_Item PROGMEM; Прекрасно компилится и работает. (Это из MicroMenu взято). Проблема именно в двух таких массивах. Да, и к тому же опеределение типа extern char mass[]; тоже вполне работает, но это уже отдельный разговор... Интересно, а какой размер массива Text??? Зеро байт?  Или миллион?
--------------------
|
|
|
|
|
Jul 30 2007, 12:00
|

Местный
  
Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021

|
Цитата(prottoss @ Jul 30 2007, 15:53)  Можно сделать немного по другому, если Вы не знаете точно, какой длины массивы будут Код typedef struct { const char *pEngl; /* указатель на массив Engl */ const char pRuss; /* указатель на массив Russ */
} LangStruct PROGMEM; А далее в конструкторе (функции инициализации) указателям присваивать конкретные адреса массивов... Еще бы я добавил, в таком случае, в структуру размеры массивов. Ну да, видимо так и сделаю. Цитата Интересно, а какой размер массива Text??? Зеро байт?  Или миллион? А ни какой, это примерно аналогично extern char Mass[], то есть происходит определение, а память выделяется при создании экземпляра.
|
|
|
|
Сообщений в этой теме
Quasar WinAVR(Ну или C) + Массивы в структуре Jul 30 2007, 11:33 prottoss Цитата(Quasar @ Jul 30 2007, 19:33) При т... Jul 30 2007, 11:43 Quasar Цитата(prottoss @ Jul 30 2007, 15:43) Нет... Jul 30 2007, 11:48 umup В определении типа не нужно указывать атрибутов (P... Jul 30 2007, 12:06 Quasar ЦитатаИМХО это очччень не хорошо, если это на само... Jul 30 2007, 12:19 prottoss Цитата(Quasar @ Jul 30 2007, 20:19) Ну по... Jul 30 2007, 12:51  Quasar Цитата(prottoss @ Jul 30 2007, 16:51) И к... Jul 30 2007, 13:03  ReAl Цитата(prottoss @ Jul 30 2007, 14:51) Хм.... Jul 30 2007, 14:21   prottoss Цитата(ReAl @ Jul 30 2007, 22:20) [code]t... Jul 30 2007, 14:24    zltigo Цитата(prottoss @ Jul 30 2007, 17:24) И И... Jul 30 2007, 17:04     Quasar Цитата(zltigo @ Jul 30 2007, 21:04) И не... Jul 30 2007, 18:53     singlskv Цитата(zltigo @ Jul 30 2007, 21:04) И не... Jul 30 2007, 19:38     Сергей Борщ Цитата(zltigo @ Jul 30 2007, 20:04) И не... Jul 31 2007, 08:39      zltigo Цитата(Сергей Борщ @ Jul 31 2007, 11:39) ... Jul 31 2007, 13:52       ReAl Цитата(zltigo @ Jul 31 2007, 15:52) Речь ... Jul 31 2007, 15:11        Maddy Цитата(ReAl @ Jul 31 2007, 19:11) Мммм...... Jul 31 2007, 20:01         ReAl Цитата(Maddy @ Jul 31 2007, 22:01) Это по... Jul 31 2007, 20:24          Maddy Цитата(ReAl @ Aug 1 2007, 00:24) Что-то я... Aug 1 2007, 09:18  SasaVitebsk Цитата(prottoss @ Jul 30 2007, 15:51) Хм.... Jul 30 2007, 19:01 SasaVitebsk А чего Вы расстраиваетесь. Напишите свою инициализ... Jul 31 2007, 17:25 sensor_ua Цитатавведён размер в начале. К неполным массивам ... Aug 1 2007, 04:55 Kirill Frolov Цитата(Quasar @ Jul 30 2007, 15:33) При т... Aug 7 2007, 00:02
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|