Macros 预处理查找介于#定义之间的最大值

Macros 预处理查找介于#定义之间的最大值,macros,max,c-preprocessor,x-macros,Macros,Max,C Preprocessor,X Macros,我有两个头文件,使用不同的值定义相同的文件: file1.h: #define NUM_OF_TREES 10 file2.h: #define NUM_OF_TREES 20 在另一个文件中,我要定义 限制 #定义树的最大数量 如何使用宏分配最大静态时间(预处理)?file1.h: #define NUM_OF_TREES 10 typedef unsigned char NUM1[NUM_OF_TREES]; 文件2.h: #def

我有两个头文件,使用不同的值定义相同的文件:

 file1.h:
          #define NUM_OF_TREES 10
 file2.h:
          #define NUM_OF_TREES 20
在另一个文件中,我要定义 限制 #定义树的最大数量 如何使用宏分配最大静态时间(预处理)?

file1.h:

  #define NUM_OF_TREES 10
  typedef unsigned char NUM1[NUM_OF_TREES];
文件2.h:

  #define NUM_OF_TREES 20
  typedef unsigned char NUM2[NUM_OF_TREES];
文件3.c:

  typedef union {
      NUM1;
      NUM2;
  } FOR_MAX_SIZE;

 #define MAX_NUM_OF_TREES sizeof (FOR_MAX_SIZE); 
文件1.h:

  #define NUM_OF_TREES 10
  typedef unsigned char NUM1[NUM_OF_TREES];
文件2.h:

  #define NUM_OF_TREES 20
  typedef unsigned char NUM2[NUM_OF_TREES];
文件3.c:

  typedef union {
      NUM1;
      NUM2;
  } FOR_MAX_SIZE;

 #define MAX_NUM_OF_TREES sizeof (FOR_MAX_SIZE); 

尽管本准则可以回答这个问题,但提供关于为什么和/或如何回答这个问题的额外上下文将显著提高其长期价值。请在您的答案中添加一些解释。尽管此代码可能会回答此问题,但提供有关为什么和/或如何回答此问题的其他上下文将显著提高其长期价值。请在您的回答中添加一些解释。