加法运算符 +
+ (加法) 运算符生成其操作数的总和。 两个操作数都必须具有算术类型,或者一个操作数必须是指向对象类型的指针,而另一个操作数必须具有整数或枚举类型。
当两个操作数都具有算术类型时,将对操作数执行通常的算术转换。 结果具有操作数上的转换所生成的类型,并且不是 lvalue。
可以将指向数组中对象的指针添加到具有整数类型的值。 结果是与指针操作数类型相同的指针。 结果引用了数组中的另一个元素,与原始元素的偏移量是被视为下标的整数值的量。 如果生成的指针指向数组外部的存储器,而不是数组外部的第一个位置,那么结果未定义。 指向数组结束后的一个元素的指针不能用于访问该地址上的内存内容。 编译器不提供指针的边界检查。 例如,在添加之后,
ptr 指向数组的第三个元素: int array[5];
int *ptr;
ptr = array + 2;