C++编程思想 第1卷 第3章 创建复合类型 数组 指针和数组 指针算术

指针所做的工作只是把指针看作数组的一个别名
指向数组的指针可能不太令人感兴趣
但是指针不只是看作数组的一个别名
指针更灵活,指针可以修改它们执向任何别的地方
不能修改数组标识符来指向别的地方
指针算术 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

猜你喜欢

转载自blog.csdn.net/eyetired/article/details/80721152
今日推荐