| Static variables静态变量 "静止" 记忆被称作静态变量。在数据类型之前指定成分"静止" 被公开。
 示例:
 int somefunc()
 {
 static int flag=10;
 ....
 return(flag);
 }
 静态变量被存放在永久记忆里,在函数退出后静态变量不会丢失。所有在同一板块内(除正式变量作用外),可能作为静止变量定义。 静态变量可以由相对应的类型常数初始化。 与局部变量不同。如果没有明确地初始化, 静态变量初始化以零。 静态变量在"init()" 函数之前只可应用一次。
 Global variables全局变量
 整体变量作为函数被定义在相同水平,即,不可以局部使用。
 示例:
 int GlobalFlag=10;   // 整体变量
 int start()
 {
 ...
 }
 整体变量的范围是整个程序。整体变量在所有程序内是被定义的。 如果它的值没有被定义,初始化值为零。 整体变量只对于相应的常数初始化。 整体变量只可以在init()函数操作之前一次性初始化。
 注解: 变量在整体变量的水平位上不能够与客户端GlobalVariable...() 函数混淆。
 Defining extern variables外部定义变量
 外部定义的可变量。 在数据类型公布之前指定外部变量。
 示例:
 extern double InputParameter1 = 1.0;
 extern color  InputParameter2 = red;
 int init()
 {
 ...
 }
 确定从外部程序输入的变量, 会直接显现输入数据窗口。数列本身不能作为外部变量。
 Initialization of variables初始化变量
 任何情况定义可变物可以初始化。如果它的原始值未被限定,任何可变物初始化为零(0)。 整体变量和静态变量的初始化由相应的常数进行。
 整体变量和静态变量只能一次性初始化。局部变量的初始化与相应的调动进行。
 示例:
 int    n       = 1;
 double p       = MarketInfo(Symbol(),MODE_POINT);
 string s       = "hello";
 double f[]     = { 0.0, 0.236, 0.382, 0.5, 0.618, 1.0 };
 int    a[4][4] = { 1, 1, 1, 1,  2, 2, 2, 2,  3, 3, 3, 3,  4, 4, 4, 4 };
 数组元素值列表必须被附寄在括号内。初始化省去的值被考虑为零。 如果初始化的数组大小不被定义, 它将由编译器定义 。多维数组由一个一维序列, 即序列初始化没有另外的括号。所有数列, 只能以常数初始化。
 External functions definition外部函数的定义
 类型外在作用被定义在程序的其它组分必须明确地被描述。 缺乏这样定义也许导致错误在程序期间的编辑、联结, 或施行。当描述一个外在对象, 主题词进口必须被使用以在模块的参考。
 示例:
 #import "user32.dll"
 int     MessageBoxA(int hWnd ,string szText,string szCaption,int nType);
 int     SendMessageA(int hWnd,int Msg,int wParam,int lParam);
 #import "lib.ex4"
 double  round(double value);
 #import
 进口可能被使用容易地描述作用叫从外在DLLs 或编写EX4 图书馆。
 尖对可变物可能通过对进口的dll作用。串类型的数据 被通过作为尖对对应的记忆块(你应该记住串数据的内部表示法包括二份: 记忆块长度和记忆阻拦尖) 。如果有需要通过数据内部或双重型, 那么对应的型的一维一些应该参考通过作为参量。
 示例:
 #import "some_lib.dll"
 void    PassIntegerByref(int& OneInt[]);
 #import
 int start()
 {
 int array[1];
 //...
 PassIntegerByref(array);
 Print(array[0]);
 //...
 }
 
 |