Skip to content

数组的声明与初始化、表达式及数组操作

数组是内存中连续存储的同名同类型单元格集合,每个元素可通过索引访问。其特点包括:

  • 共同标识符
  • 存储值的类型
  • 元素数量

数组声明示例

cpp
int array[5]; // 声明包含5个整数的数组

数组元素访问

  • 索引从0开始,最后一个元素索引为N-1
  • 访问语法示例:
cpp
Print(array[0]);  // 访问第一个元素
Print(array[4]);  // 访问最后一个元素

赋值与表达式

使用=运算符进行赋值,右侧可使用算术表达式:

cpp
array[0] = 10;                       // 直接赋值
array[1] = array[0] + 1;             // 使用简单表达式
array[2] = array[0] * array[1] + 1;  // 复合表达式(结果为111)

初始化与赋值的区别

特性初始化赋值
语法位置声明时使用{}独立语句
执行次数仅一次可多次
数组支持支持整体初始化仅支持单个元素赋值
示例string msg[3] = {"A","B","C"}msg[0] = "Hello"

动态索引应用示例

根据小时数选择问候语:

cpp
string Greeting(int hour)
{
  string messages[3] = {"早安", "午安", "晚安"};
  return messages[hour / 8]; // 利用整数除法自动取整
}

时间动态选择实现

cpp
void OnStart()
{
  Print(Greeting(0), ", ", Symbol()); // 输出示例:早安, EURUSD
}

关键注意事项

  1. 数组元素不能整体赋值,只能单个操作
  2. 初始化语法{}仅用于声明时
  3. 整数除法/会自动舍弃小数部分
  4. 函数内数组的作用域为函数内部

测试输出示例:
GoodTime0 (EURUSD,H1) Good morning, EURUSD

该实现通过时间参数动态选择问候语,后续可扩展为实时获取系统时间实现真正的动态问候。