地址表达式加一个整数,C++将按比例增大地址,整数要乘以表达式基类型大小:
新地址 = 旧地址 + (整数 * 基类型大小)
#include <iostream>
using namespace std;
int main()
{
int n = 9;
int *p = &n;
cout << p << endl;
cout << p+1 << endl;
cout << *(p+1) << endl;
return 0;
}
运行结果:
0x7fffffffe074
0x7fffffffe078
-8076
一元操作符*和++具有从右到左的结合性,所以表达式*p++ = 0;相当于*(p++)=0;
先将*p设为0,再递增指针p来指向下个元素。