enum{
OFF,
ON
}
#define OFF 0
#define ON 1
int /char ON=1,OFF=0;
我想知道上面使用的三种方法在内存使用方面是否有任何差异。如果有人知道答案,请告诉我。
答案 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
。