Appearance
数组的声明与初始化、表达式及数组操作
数组是内存中连续存储的同名同类型单元格集合,每个元素可通过索引访问。其特点包括:
- 共同标识符
- 存储值的类型
- 元素数量
数组声明示例
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
}
关键注意事项
- 数组元素不能整体赋值,只能单个操作
- 初始化语法
{}
仅用于声明时 - 整数除法
/
会自动舍弃小数部分 - 函数内数组的作用域为函数内部
测试输出示例:
GoodTime0 (EURUSD,H1) Good morning, EURUSD
该实现通过时间参数动态选择问候语,后续可扩展为实时获取系统时间实现真正的动态问候。