LINUX.ORG.RU

История изменений

Исправление SZT, (текущая версия) :

Вот например через энумы

enum nums
{
    n_00 = 0,
    n_01,
    n_02,
    n_03,
    n_04,
    n_05,
    n_06,
    n_07,
    n_08,
    n_09,
    n_10,
    n_11
// ...
};

#define XXX(n) ar[n_##n]=s._field_##n;
XXX(01);
XXX(02);
XXX(03);
XXX(04);
XXX(05);
XXX(06);
XXX(07);
XXX(08);
Можно сделать что-то такое, но я не думаю что это чем-то лучше, чем исходный вариант:
#define XXX(n) ar[1##n-100]=s._field_##n;

Исходная версия SZT, :

enum nums
{
    n_00 = 0,
    n_01,
    n_02,
    n_03,
    n_04,
    n_05,
    n_06,
    n_07,
    n_08,
    n_09,
    n_10,
    n_11
// ...
};

#define XXX(n) ar[n_##n]=s._field_##n;
XXX(01);
XXX(02);
XXX(03);
XXX(04);
XXX(05);
XXX(06);
XXX(07);
XXX(08);

Можно сделать что-то такое, но я не думаю что это чем-то лучше

#define XXX(n) ar[1##n-100]=s._field_##n;