реклама на сайте
подробности

 
 
> WinAVR(Ну или C) + Массивы в структуре, Массивы в структуре.
Quasar
сообщение Jul 30 2007, 11:33
Сообщение #1


Местный
***

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



При таком определении компилятор ругается:
Код
typedef struct {  
    const char  Engl[];
    const char  Russ[];
} LangStruct PROGMEM;


Мол переменной длинны, массив не в конце.

Собственно вопрос, а возможно ли вообще в С размещать таким образом два массива?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение Jul 30 2007, 11:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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??? Зеро байт? smile.gif Или миллион?


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
|- - Quasar   Цитата(prottoss @ Jul 30 2007, 15:53) Мож...   Jul 30 2007, 12:00
|- - prottoss   Цитата(Quasar @ Jul 30 2007, 20:00) А ни ...   Jul 30 2007, 12:04
- - 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 08:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.08803 секунд с 7
ELECTRONIX ©2004-2016