[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Энди 24 декабря 2001 г. 07:35
В ответ на: прошу прощение за назойливость отправлено Чайник с прошлой страницы:) 22 декабря 2001 г. 21:52

Вы явно перемудрили. Массив в C - это не тип данных, а область памяти, а тип данных - это то чем он забит.
То что вы определили

#define X_DEF((B_TYPE (*)[3])(0x5000080))

трактуется как указатель на 3-ий элемент массива типа B_TYPE. Это и объясняет всю вашу арифметику.
Нужно просто

#define X_DEF((B_TYPE*)(0x5000080));

а потом X_DEF[N].

Определить тип можно так

typedef B_TYPE* X;

Использование:
#define X_DEF ((X)0x5000000));
и X_DEF[5]=X_DEF[6] и т.д.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru