C - 不同技术的内存使用情况


enum{
   OFF,
   ON
  }
#define OFF 0
#define ON  1
int /char  ON=1,OFF=0;

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

int /char  ON=1,OFF=0;

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

#define OFF 0
#define ON  1

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

enum{
   OFF,
   ON
}

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

最新更新