首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于C++Primer第三版3.3节最后一个例子的疑问,该怎么解决

2012-02-12 
关于C++Primer第三版3.3节最后一个例子的疑问就是用指针的算术加法遍历一个数组intia[10]int*iter&ia[0]

关于C++Primer第三版3.3节最后一个例子的疑问
就是用指针的算术加法遍历一个数组

int   ia[   10   ];
int   *iter   =   &ia[0];
int   *iter_end   =   &ia[10];

while   (   iter   !=   iter_end   )   {
      do_something_with_value(   *iter   );                      
      ++iter;   //   现在   iter   指向下一个元素
}

我现在的疑问是:
c/c++里面,数组ia[10]的元素应该是从ia[0]-ia[9],
ia[10]显然不是ia[10]这个数组的元素吧?
那int   *iter_end=&ia[10]之后,iter_end作为while循环的条件判断是什么意思呢?

菜鸟想不明白,求教各位了。

[解决办法]
int *iter_end = &ia[10];这个是为了得到数组最后一位的下一位的指针
当你while ( iter != iter_end )时候就表示不能等于下一位,这还是比较容易理解

热点排行