只是一个关于编程的一般问题:当您用 C(或我想的任何语言)定义一个值时,编译器如何知道如何处理该值?例如:
#define CountCycle 100000
我假设 CountCycle
是一个“长整数”数据类型,但这只是一个假设。我想它也可以是 float
、double
(不是 int
,因为它最大为 ~32k)等。
编译器如何为 #define
值选择数据类型?我没有申请回答这个问题;我只是好奇。
最佳答案
编译器 不会做这样的事情。 预处理器用100000
代替CountCycle
。
一旦替换完成,编译器就可以接管了。如果 100000
适合该范围,则其类型为 int
,否则为 long
。
查看 C++ Reference和一个 C Reference .
关于c++ - 当您在 C 中定义一个值时,编译器如何选择数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45982485/