指针所做的工作只是把指针看作数组的一个别名
指向数组的指针可能不太令人感兴趣
但是指针不只是看作数组的一个别名
指针更灵活,指针可以修改它们执向任何别的地方
不能修改数组标识符来指向别的地方
指针算术 pointer arithmetic 指对指针某些算术运算符的应用
指针算术是来自于普通算术 指针要正确运行,要遵守特定的约束
指针++ 是 给指针加1
指向数组的指针可能不太令人感兴趣
但是指针不只是看作数组的一个别名
指针更灵活,指针可以修改它们执向任何别的地方
不能修改数组标识符来指向别的地方
指针算术 pointer arithmetic 指对指针某些算术运算符的应用
指针算术是来自于普通算术 指针要正确运行,要遵守特定的约束
指针++ 是 给指针加1
指针++ 实际意义是改变指针移动到 下一个值
//: C03:PointerIncrement.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt #include <iostream> using namespace std; int main() { int i[10]; double d[10]; int* ip = i; double* dp = d; cout << "ip = " << (long)ip << endl; ip++; cout << "ip = " << (long)ip << endl; cout << "dp = " << (long)dp << endl; dp++; cout << "dp = " << (long)dp << endl; getchar(); } ///:~
int* 和 double* 都是相同的 ++ 操作
int只改变了4个字节
double 改变了 8个字节
输出 不同机器不一样
ip = 5242588
ip = 5242592
dp = 5242500
dp = 5242508