Как я могу структурировать некоторый C код, чтобы мне не пришлось кропотливо возвращаться и
переопределять (то есть #define
) вещи, когда мне нужно добавить новый элемент посередине.
Вот пример кода (в реальном коде около 200 различных
определяет):
#define CREAM 1
#define SALT 2
#define BUTTER 3
#define SUGAR 4
#define FAT 5
void healthyDiet()
{
int length = 10;
int menu[500];
void consume(int, int);
// ****** these must be called in the following order only
consume( menu[ CREAM ], length);
consume( menu[ SALT ], length);
consume( menu[ BUTTER ], length);
consume( menu[ SUGAR ], length);
consume( menu[ FAT ], length);
}
Но теперь мне нужно #define
и добавить LARD
, что было бы просто, если бы последовательность
здесь не было важно. Но LARD
должно предшествовать SUGAR
и после BUTTER
. Так
Теперь мне нужно отредактировать определения:
#define CREAM 1
#define SALT 2
#define BUTTER 3
#define LARD 4
#define SUGAR 5 // changed from 4
#define FAT 6 // changed from 5
Так как
могу ли я структурировать вещи так, чтобы каждый раз, когда я хочу что-то добавить в середине, я
не нужно возвращаться и вручную изменять значение для каждого элемента?