评论

收藏

数组的定义和引用(特厉害的MT5/MQL5指标编程教程第十二篇:数组)

avatar 億秒 | 971 人阅读 | 0 人评论 | 2014-02-18

一个变量里可以存一个数据,如果有很多类似的数据,使用一个数组比使用很多变量方便多了。比如当我想画一条曲线,就可以用很多点连接起来,而这些点的坐标就存在数组里。概括起来就是“有序数据的集合”。数组中每元素都属于同一个数据类型。例如:

int a[3];

定义了一个名为“a”的数组,包含三个元素。

数组名的明明规则跟变量相同,遵循标识符命名规则。
定义数组时,方括号中的数字表示数组元素的个数,“int a[3];”表示有三个元素,而数组计数是从“0”开始的,也就是三个元素是:“a[0]”、“a[1]”、“a[2]”,而不存在“a[3]”。
定义数组时方括号中可以是符号常量,但不能是变量,即便是一个已赋值的变量。
“int a[3][4];”定义了一个二维数组,分别是:

a[0][0]、a[0][1]、a[0][2]、a[0][3];
a[1][0]、a[1][1]、a[1][2]、a[1][3];
a[2][0]、a[2][1]、a[2][2]、a[2][3]。

还可以有三维、四维等多维数组,用得不多。

开头说画曲线就可以用一个一维数组,元素序号为x坐标,值为y坐标。

比如“int a[4] = {0, 2, 0, 1};”就可以用四点画一条折线,中间两个拐点坐标分别是(1,2)、(2,0)。

用大括号可以在声明的时候初始化数组元素的值,二维数组可以“int a[2][3] = {{1, 2, 3}, {4, 5, 6}};”这样。其效果等于:

int a[2][2];
// 第一个大括号为a[0][...]这一系列赋值。
a[0][0] = 1;
a[0][1] = 2;
a[0][2] = 3;
// 第二个大括号为a[1][...]这一系列赋值。
a[1][0] = 4;
a[1][1] = 5;
a[1][2] = 6;

声明的时候角标不可以用变量,引用的时候可以,比如:

int a[4];
i = 3;
a[i] = 10;
// a[3]的值为10。

""
还没有人打赏,支持一下