【发布时间】:2012-02-01 18:10:49
【问题描述】:
我怎样才能构造一些 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
那么如何 我可以构造一些东西,这样每次我想在中间添加一些东西时,我 不必返回并手动更改每个项目的定义值?
【问题讨论】:
标签: c function c-preprocessor