c++ - 当您在 C 中定义一个值时,编译器如何选择数据类型

标签 c++ c types

只是一个关于编程的一般问题:当您用 C(或我想的任何语言)定义一个值时,编译器如何知道如何处理该值?例如:

#define CountCycle  100000

我假设 CountCycle 是一个“长整数”数据类型,但这只是一个假设。我想它也可以是 floatdouble(不是 int,因为它最大为 ~32k)等。

编译器如何为 #define 值选择数据类型?我没有申请回答这个问题;我只是好奇。

最佳答案

编译器 不会做这样的事情。 预处理器100000代替CountCycle

一旦替换完成,编译器就可以接管了。如果 100000 适合该范围,则其类型为 int,否则为 long

查看 C++ Reference和一个 C Reference .

关于c++ - 当您在 C 中定义一个值时,编译器如何选择数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45982485/

相关文章:

c++ - C 和 C++ 中前缀递增运算符的区别

c - 段错误问题

c - 为什么堆栈不传递命令行的输入

c++ - 连接到DDS中的主机:是否完全联网?

c++ - 带有 qt 的 Visual Studio 无法编译 gui 类

c - 如何在 PROMELA 中广播消息?

javascript - SVGElement 类型不存在属性 getBBox

c++ - std::thread 和右值引用

c++ - 查找包含特定文本的函数的正则表达式是什么?

java - 在除法之前将 int 类型转换为 float。我真正需要哪些类型转换,我可以删除哪些类型转换,为什么?