用户工具

站点工具


reference:language:scope

差别

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

到此差别页面的链接

reference:language:scope [2017/04/07 10:03] (当前版本)
行 1: 行 1:
 +====== 变量的作用域 ======
 +
 +在ocrobot使用的C编程语言的变量,有一个名为 作用域(scope) 的属性 。这一点与类似BASIC的语言形成了对比,在BASIC语言中所有变量都是 全局(global) 变量。
 +
 +在一个程序内的全局变量是可以被所有函数所调用的。局部变量只在声明它们的函数内可见。在ocrobot的环境中,任何在函数(例如,setup(),​loop()等)外声明的变量,都是全局变量。
 +
 +当程序变得更大更复杂时,局部变量是一个有效确定每个函数只能访问其自己变量的途径。这可以防止,当一个函数无意中修改另一个函数使用的变量的程序错误。
 +
 +有时在一个for循环内声明并初始化一个变量也是很方便的选择。这将创建一个只能从for循环的括号内访问的变量。
 +===== 例子: =====
 +<code cpp>
 +int gPWMval; ​ // 任何函数都可以调用此变量
 +
 +void setup()
 +{
 +  // ...
 +}
 +
 +void loop()
 +{
 +  int i;    // "​i"​ 只在 "​loop"​ 函数内可用
 +  float f;  // "​f"​ 只在 "​loop"​ 函数内可用
 +  // ...
 +
 +  for (int j = 0; j <100; j++){
 +    //​变量j只能在循环括号内访问
 +  }
 +}
 +</​code>​
 +
  
reference/language/scope.txt · 最后更改: 2017/04/07 10:03 (外部编辑)