abivan (27.04.2012 09:29, просмотров: 105) ответил il-2 на А раз это именно инициализация, то почему ему const мешает? Как тогда правильно написать поиндексную инициализацию для const??? И ругается он на lvalue так, как будто это оператор присваивания. Может это конкретно этот компилятор такой.
инициализацию которая предложена я впервые вижу(темный я наверное). Как-то без нее обходился со времен доса. Варианты помимо предложенных красивый универсальный(можно добавлять Id как заблагорассудится), но требует поиска
#define ID_USER1 0x0
#define ID_USER2 0x20
#define ID_USER3 0x40
#define ID_USER1_PAR1 ID_USER1+0
#define ID_USER1_PARN ID_USER1+20
typedef struct{
UCHAR bId;
UCHAR bVar;
}t_Rec;
static const t_Rec rgRec[]={
{ID_USER1_PAR1, 1},
{ID_USER1_PARN, 1},
};
или так, освобождаем кодовую память от констант
enum e_XXX{
ID_USER1_PAR1=1,
ID_USER1_PARN=10
};