用户工具

站点工具


reference:language:define

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

reference:language:define [2017/04/07 10:03] (当前版本)
行 1: 行 1:
 +====== Define ======
 +
 +#define 是一个很有用的C语法,它允许程序员在程序编译之前给常量命名。在Ocrobot中,定义的常量不会占用芯片上的任何程序内存空间。在编译时编译器会用事先定义的值来取代这些常量。
 +
 +然而这样做会产生一些副作用,例如,一个已被定义的常量名已经包含在了其他常量名或者变量名中。在这种情况下,文本将被#defined 定义的数字或文本所取代。
 +
 +通常情况下, 优先考虑使用 const 关键字替代 #define 来定义常量。
 +
 +Ocrobot 拥有和 C 相同的语法规范:
 +===== 语法 =====
 +
 +#​define ​ 常量名 ​ 常量值
 +注意,#是必须的。
 +===== 例子 =====
 +<​code>​
 +#define ledPin 3
 +//​在编译时,编译器将使用数值 3 取代任何用到 ledPin 的地方。
 +</​code>​
 +===== 提示 =====
 +
 +在#define 声明后不能有分号。如果存在分号,编译器会抛出语义不明的错误,甚至关闭页面。
 +<​code>​
 +#define ledPin 3; //​这是一种错误写法
 +</​code> ​
 +类似的,在#​define声明中包含等号也会产生语义不明的编译错误从而导致关闭页面。
 +<​code>​
 +#define ledPin = 3 //​这是一种错误写法
 +</​code>​
 +
  
reference/language/define.txt · 最后更改: 2017/04/07 10:03 (外部编辑)