c++中关于遍历数组的方法

int iaaray[]={1,2,3,4,5,6,7,8,9,7,5,4,67,7,2};
int size=sizeof(iarray)/sizeof(*iarray);
int* iptr=iarray;
for(int n=0;n<size;++n)
sum[3]+=iptr[n] 这个iptr为什么不要加*

这个iptr由于通过赋值
int* iptr=iarray;
获得了iarray的值,即为数组首地址,也就是iptr即相当于iarray,所以使用中可不加*
LZ可能是对指针不是很了解吧
一般说指针就是地址,数组名其实也是个指针,只不过他是个常量指针(不允许被修改)
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-02-15

c++中遍历数组常用两种方法:

    使用下标

    for(int i = 0; i< LengthOfClass; i++) {//class[i]就是第数组i+1个元素};

    使用指针

       for(type *p = class; p!= LastOfClass; p++) {//p直接指向数组元素};

数组是在程序设计中为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式。数组把有限个类型相同的变量用一个名字命名,然后用编号进行区分。这些按序排列的同类数据元素的集合称为数组。数组的名字称为数组名,编号称为下标。组成数组的各个变量称为数组的元素或者下标变量。

第2个回答  2011-03-03
数组名就是一个指针,是指向数组的头地址,
其实这样也可以
*iarray=iarray[0]
*(1+array)=iarray[1];

如上
因为 int* iptr=iarray;

而这个时候i用以数组的方式 iptr[n]和以指针的方式*(n+lptr)不是一样都能访问数组;
第3个回答  2011-03-03
因为这里是通过下标引用,与ptr[n]与*(ptr+n)是等价的。
第4个回答  2011-03-03
因为后面有中括号了。iptr[n]就 已经是所指的内容了。