C++:下标运算符 []

本文详细介绍了C++中的下标运算符[]的语法和用法,包括正负下标、多维数组的引用以及运算符的交换性。强调了下标表达式的计算方式,例如`e1[e2]`等同于`*(e2 + e1)`,并指出负下标必须在数组边界内以避免不可预知的结果。
摘要由CSDN通过智能技术生成

C++:下标运算符 []

语法

postfix-expression [ expression ]

备注

后缀表达式 (,它也可以是主表达式) 后跟下标运算符 [])指定数组索引。

通常, 后缀表达式 表示的值是一个指针值(如数组标识符),而 expression 是一个整数值 (包括) 枚举类型。 但是,从语法上来说,只需要一个表达式是指针类型,另一个表达式是整型。 因此整数值可以位于 后缀表达式 位置,指针值可以在 表达式 或下标位置的括号中。 考虑以下代码片断:

int nArray[5] = {
    0, 1, 2, 3, 4 };
cout << nArray[2] << endl;            // prints "2"
cout << 2[nArray] << endl;            // prints "2"

在前面的示例中,表达式 nArray[2] 与 2[nArray] 相同。 原因是下标表达式的结果 e1[e2] 是由指定的:

*((e2) + (e1))

表达式生成的地址不是来自地址 e1 的 e2 字节。 相反,地址将进行缩放以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值