|
Можно ли в typedef struct описать массив переменной длины, IAR, C, AVR |
|
|
|
Feb 20 2009, 09:52
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Есть некий протокол который пытаюсь описать структурой типа Код typedef struct TMainS { unsigned char Start; unsigned long Adata; unsigned int Bdata; unsigned char Cdata[var]; unsigned int Ddata; unsigned int Edata;
} T_MainS_Header; Подскажите как в таких случаях поступат если, Cdata имеет переменную длину. Перед присваиваем типов можно легко найти значение var. Интересует доступ к полям Ddata и Edata, после присваивания типа MainS->Ddata или MainS->Edata. Возможно ли такое решение, в книге по С такого ненашол, компилятор упорно ругается на Cdata, говорит что надо константа для var, и я с ним согласен, но есть ли другие решения ?
Сообщение отредактировал west329_ - Feb 20 2009, 09:57
|
|
|
|
Сообщений в этой теме
west329_ Можно ли в typedef struct описать массив переменной длины Feb 20 2009, 09:52 ARV Cdata делайте указателем, не забывая выделять памя... Feb 20 2009, 09:58 sergeeff Цитата(west329_ @ Feb 20 2009, 13:52) Под... Feb 20 2009, 10:04 Сергей Борщ Цитата(west329_ @ Feb 20 2009, 11:52) Под... Feb 20 2009, 11:01 rezident Цитата(Сергей Борщ @ Feb 20 2009, 16:01) ... Feb 20 2009, 14:06  Сергей Борщ Цитата(rezident @ Feb 20 2009, 16:06) а в... Feb 20 2009, 19:12 west329_ Благодар за подсказку.
Понятно как действовать дал... Feb 20 2009, 11:54 Rst7 Чисто с прагматической точки зрения я бы положил в... Feb 20 2009, 19:32 west329_ Если забирать данные с Cdata через указатель, како... Feb 21 2009, 08:25 demiurg_spb Цитата(west329_ @ Feb 21 2009, 11:25) Есл... Feb 21 2009, 10:01 sergeeff Цитата(west329_ @ Feb 21 2009, 12:25) Есл... Feb 21 2009, 16:59  demiurg_spb Цитата(sergeeff @ Feb 21 2009, 19:59) Ука... Feb 21 2009, 17:35 Rst7 ЦитатаПо стандарту на язык СИ "размерность... Feb 21 2009, 17:57 zltigo Цитата(Rst7 @ Feb 21 2009, 20:57) До появ... Feb 22 2009, 06:52 sergeeff Цитата(Rst7 @ Feb 21 2009, 21:57) Да, так... Feb 22 2009, 11:55 Rst7 Цитатав том-же реалмоде x86
Ну да. Правда, самый ... Feb 22 2009, 07:26 demiurg_spb Да и на x51 была возможность косвенной адресации ч... Feb 22 2009, 08:32  ReAl Цитата(demiurg_spb @ Feb 22 2009, 10:32) ... Feb 22 2009, 20:51   demiurg_spb Цитата(ReAl @ Feb 22 2009, 23:51) Просто ... Feb 22 2009, 21:22    ReAl Цитата(demiurg_spb @ Feb 22 2009, 23:22) ... Feb 22 2009, 21:39     demiurg_spb Цитата(ReAl @ Feb 23 2009, 00:39) Не поня... Feb 23 2009, 08:19      west329_ Цитата(demiurg_spb @ Feb 23 2009, 11:19) ... Feb 23 2009, 11:36       sergeeff Цитата(west329_ @ Feb 23 2009, 14:36) а у... Feb 23 2009, 11:48        demiurg_spb Цитата(sergeeff @ Feb 23 2009, 14:48) А а... Feb 23 2009, 20:34       Сергей Борщ Цитата(west329_ @ Feb 23 2009, 13:36) а у... Feb 23 2009, 12:01 Rst7 ЦитатаРазность между двумя указателями - ptrdiff_t... Feb 22 2009, 12:04 west329_ CODE/* - LIMITS.H -
Integral ANSI elemen... Feb 23 2009, 06:39 west329_ Незнал, чесно признаюсь думал, что это описывается... Feb 23 2009, 12:21 sergeeff Цитата(west329_ @ Feb 23 2009, 15:21) Нез... Feb 23 2009, 12:33 west329_ ..Указатель — это переменная, значением кото... Feb 23 2009, 13:40 sergeeff Цитата(west329_ @ Feb 23 2009, 16:40) ..У... Feb 23 2009, 15:05 sergeeff Очень жаль, если у вас до сих пор нет понимания ра... Feb 24 2009, 07:33 demiurg_spb Цитата(sergeeff @ Feb 24 2009, 10:33) Оче... Feb 24 2009, 07:42 sergeeff Типун вам на язык и долгих лет жизни.
В двоичной... Feb 24 2009, 09:21 demiurg_spb Цитата(sergeeff @ Feb 24 2009, 12:21) Тип... Feb 24 2009, 09:38 sergeeff Цитатаэто уже надо задуматься
Задумываться - поле... Feb 24 2009, 09:53 west329_ Подскажите как правильно поступить, хочу использов... Feb 24 2009, 10:04 demiurg_spb Цитата(west329_ @ Feb 24 2009, 13:04) Обь... Feb 24 2009, 10:38 west329_ В чем тогда отличие unsigned char от char
сори, п... Feb 24 2009, 10:48 MrYuran Цитата(west329_ @ Feb 24 2009, 13:48) В ч... Feb 24 2009, 10:55 demiurg_spb Цитата(west329_ @ Feb 24 2009, 13:48) ...... Feb 24 2009, 11:09 zltigo Цитата(west329_ @ Feb 24 2009, 13:48) а т... Feb 24 2009, 11:12  demiurg_spb Цитата(zltigo @ Feb 24 2009, 14:12) Ну и ... Feb 24 2009, 11:24   zltigo Цитата(demiurg_spb @ Feb 24 2009, 14:24) ... Feb 24 2009, 12:08    demiurg_spb Цитата(zltigo @ Feb 24 2009, 15:08) Вроде... Feb 24 2009, 12:34     gotty Цитата(demiurg_spb @ Feb 24 2009, 14:34) ... Feb 24 2009, 12:50      zltigo Цитата(gotty @ Feb 24 2009, 15:50) Тут от... Feb 24 2009, 13:20      demiurg_spb Цитата(gotty @ Feb 24 2009, 15:50) Тут от... Feb 24 2009, 13:38  Сергей Борщ Цитата(zltigo @ Feb 24 2009, 13:12) Ну и ... Feb 24 2009, 12:24 xemul Цитата(west329_ @ Feb 24 2009, 13:48) Код... Feb 24 2009, 11:21 west329_ Код__flash char *test_ = "hello";
__fla... Feb 24 2009, 11:38 gotty Цитата(west329_ @ Feb 24 2009, 13:38) Код... Feb 24 2009, 11:41 demiurg_spb Цитата(west329_ @ Feb 24 2009, 14:38) [co... Feb 24 2009, 11:42  gotty Цитата(demiurg_spb @ Feb 24 2009, 13:42) ... Feb 24 2009, 11:47   demiurg_spb Я через минуту раздумий удалил этот пример. Вы опе... Feb 24 2009, 11:49 west329_ Цель сделать поиск в буфере строки которая сидит в... Feb 24 2009, 12:05 demiurg_spb Цитата(west329_ @ Feb 24 2009, 15:05) Цел... Feb 24 2009, 12:07 west329_ Код__flash char test_[] = "hello... Feb 24 2009, 14:14 demiurg_spb Цитата(west329_ @ Feb 24 2009, 17:14) Это... Feb 24 2009, 14:22 west329_ Код__x_z int strcatstrncmpstrncmp(const void *... Feb 25 2009, 06:12 demiurg_spb Цитата(west329_ @ Feb 25 2009, 09:12) Ана... Feb 25 2009, 08:05 west329_ Всё работает как надо, благодарю за помощь. За рад... Feb 25 2009, 10:20 gotty Цитата(west329_ @ Feb 25 2009, 12:20) Код... Feb 25 2009, 10:53 demiurg_spb Цитата(west329_ @ Feb 25 2009, 13:20) Всё... Feb 25 2009, 11:06 A. Fig Lee то, что возвращает malloc() правильные пацаны пров... Feb 26 2009, 02:10
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|