MT4智能交易编程教程-局部变量
在函数内可变量的声明是局部的。局部变量在声明的部分里是被限定的。局部变量可以由任意一个表达式结果初始化。 每次函数的运行只可以初始化一个局部变量。局部变量储存在相应的存储器上。 示例:- int somefunc()
- {
- int ret_code=0;
- ...
- return(ret_code);
- }
-
复制代码变量范围是涉及变量的模块部分。模块中声明的变量(内部),有模块规定其范围。变量声明启动模块范围,以终止程序结束。开始函数声明的局部变量也有模块范围,和局部变量函数参数。任何模块都可以包括变量声明。如果嵌入模块内外模块有同名标识符,隐藏外部指标,直到内部操作完成。示例: - void OnStart()
- {
- //---
- int i=5; // 函数的局部变量
- {
- int i=10; // 函数变量
- Print("In block i = ",i); // 结果是 i=10;
- }
- Print("Outside block i = ",i); // 结果是 i=5;
- }
-
复制代码
这意味着内部模块运行时,只看到自己的局部指标值,看不到外部同名指标值。示例: - void OnStart()
- {
- //---
- int i=5; // 函数局部变量
- for(int i=0;i<3;i++)
- Print("Inside for i = ",i);
- Print("Outside the block i = ",i);
- }
- /* Execution result
- Inside for i = 0
- Inside for i = 1
- Inside for i = 2
- Outside block i = 5
- */
-
复制代码
|