不同技术的内存使用情况

时间:2016-02-12 06:28:30

标签: c memory

enum{
   OFF,
   ON
  }

#define OFF 0
#define ON  1

int /char  ON=1,OFF=0;

我想知道上面使用的三种方法在内存使用方面是否有任何差异。如果有人知道答案,请告诉我。

1 个答案:

答案 0 :(得分:1)

int /char  ON=1,OFF=0;

您可以使用int / char自行检查sizeof(ON)sizeof(OFF)的尺寸。 char保证为1个字节,而int通常为4个字节,但在不同平台上可能有所不同。

#define OFF 0
#define ON  1

这根本不使用任何内存,因为替换是在编译的预处理部分执行的。

enum{
   OFF,
   ON
}

这只声明类型,而不是变量。至于实际内存使用情况,您需要声明此类型的变量并使用sizeof进行检查。保证最终大小为int