我正在做一个大的C项目,我从来没有遇到过这样的情况,所以,我需要你的建议。
你的意见是什么?在条件预处理器中定义常量是否可以,就像我在下面所做的,或者你建议我用其他方法来定义常量?

#define NUM_OCTAVES_4
//#define NUM_OCTAVES_5

    #ifdef NUM_OCTAVES_4
     #define OCTAVES 4
     const unsigned char borders [4] = {11, 26, 50, 98};
    #elif NUM_OCTAVES_5
     #define OCTAVES 5
     const unsigned char borders [5] = {11, 26, 50, 98, 194};
    #endif

如果我这样做有什么缺点吗?

最佳答案

#define OCTAVES 4

#if OCTAVES == 4
 const unsigned char borders [4] = {11, 26, 50, 98};
#elif OCTAVES == 5
 const unsigned char borders [5] = {11, 26, 50, 98, 194};
#endif

关于c - C预处理程序:#在C中定义…建议,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2913987/

10-15 06:06