ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
105378 Топик полностью
Anabios (20.11.2007 10:38, просмотров: 77) ответил rezident на typdef это описание типа, а не самой структуры. Структуру, описанную этим типом нужно еще где-то объявить. После этого уже можно получить указатель на структуру.
Правильно, все так и делаеться, только как описать указатель, который мог бы указывать в одном случае на один флеш массив описанный через сложный тип, а в другом на другой сложный тип, при чем поля у них не совсем совпадают Дело то в чем, для отображения на дисплее хочу использовать несколько флеш массивов, это делаеться для того что бы можно было выводить разные картинки (по количеству инидцируемых данных). И вся фишка в том, как дать знать подпрорамме формирования кортинки к какому массиву ей обратиться. Эту вещь я хотел сделать через указатель, так как байт который отвечает за формирование с одинаковым название есть и в одной и в другой структуре, и соотвествено в флеш мссивах. То есть, где то там где кнопульки крутяться, я по флеш массиву вижу что тут могу перейти в под меню, жму ввод, после чего должен произоти переприсвоение указателя, на другой начальный адрес другого флеш массива, в котором тоже есть поле черз которое прога может понять по какому их алг формировать картинку. Пытался через объединение этих двух сложных типов описать указатель, ничего не вышло. Принципильно Указатель на переменную, сам же являеться переменной, и какая разница на что он указывает, всеравно все данные будут выбираться относительно того что в нем лежит. Вот и спрашиваю Реально вообще сделать указатель на два чуть чуть разных флеш массива один указатель. Задача то типовая, наверняка кто то сталкивался с этим. Не хочу просто делать один здоровый сложный тип и массив, а потом просто 0 большую часть пространство массива запонять, место жалко, да и неправильно так делать мне кажеться. Вот куски кода: Это записываеться в h файл кмплексных типов // осоздание типа для отображения одного параметра на экран typedef struct { //первая строка unsigned char NamePar0; // Имя парметра //Вторая строка unsigned char *CharValue; //1 Текущее значение "CHAR" unsigned int *IntValue0; //2 Текущее значение "INT" в 0 строке unsigned char NumMesur0; //3 Ед. измерения в 0 строке unsigned char SanctionAction; //4 Разрешенные действие }NormDisplayStruct; // осоздание типа для отображения двух параметров на экран typedef struct { //первая строка unsigned char NamePar0; // Имя парметра 0 unsigned char NamePar1; // Имя парметра 1 //Вторая строка unsigned int *IntValue0; //1 Текущее значение "INT" в 0 строке unsigned int *IntValue1; //2 Текущее значение "INT" в 0 строке unsigned char NumMesur0; //3 Ед. измерения в 0 строке unsigned char NumMesur1; //4 Ед. измерения в 0 строке unsigned char SanctionAction; //5 Разрешенные действие }ExtdDisplayStruct; дальше в екстерне extern __flash NormDisplayStruct BasicMenu[]; extern __flash ExtdDisplayStruct ParamMenu[]; дальше перед функцией main() __flash NormDisplayStruct BasicMenu[]; __flash ExtdDisplayStruct ParamMenu[]; массивы наверное смысла нет приводить ... Вот теперь я думаю более менее все понятно будет. Так вот, как описать указатель что бы он мог ссылаться и на один массив и на другой. И реально ли это, потому что я уже думать начиная что просто компилятор этого не поймет