惠州网站seo排名优化,自助建站门户网站,如何用wordpress做网页,wordpress友情链接调用这里注意下数组指针的下标表示#xff1a;
我们已经知道#xff0c;数组名a总是指向a[0]的指针#xff0c;*(ai)是对a[i]的引用#xff0c;实际上#xff0c;编译器中#xff0c;对数组的引用#xff0c;如a[i]#xff0c;总是被编译器改写成*(ai)的形式。 另外说明下…这里注意下数组指针的下标表示
我们已经知道数组名a总是指向a[0]的指针*(ai)是对a[i]的引用实际上编译器中对数组的引用如a[i]总是被编译器改写成*(ai)的形式。 另外说明下指针下标表示 比如
int a[100]; int *ptra;指针下标表示 ptr[i] 指针下标表示ptr[i] 就相当于对a[i]的引用也就是* a[i] 直接是a[i]的值 具体来说当使用ptr[i]时指针ptr首先被解引用也就是获取指向的内存地址的值这个地址加上偏移量i*sizeof(int)因为ptr是指向int类型的指针就得到了数组中第i个元素的地址最后通过解引用获取该元素的值。 可以看到指针和下标运算符的作用是等价的它们都是用来访问数组中的元素。 #includestdio.h#define N 100int main(void){int i,n,a[N];int *ptra;scanf(%d,n);for ( i 0; i n; i){scanf(%d,ai); //这里也是直接引用地址偏移a数组首地址}printf(原来数据\n);for ( i 0; i n; i){printf(%d ,a[i]);}printf(\n);printf(用数组名/下标法引用数据\n);//用数组名/下标法引用数据元素for ( i n-1; i 0; i--){printf(%d ,a[i]);}printf(\n);
printf(用数组名/偏移量引用数据\n);//用数组名/偏移量引用数据元素for ( i n-1; i 0; i--){printf(%d ,*(ai)); //*()是对a数组的引用相当于地址改变直接引用值}printf(\n);printf(用指针/偏移量法引用数据\n);
for ( i n-1; i 0 ; i--)
{printf(%d ,*(ptri)); //ptr指针指向a数组首地址这里使用指针偏移i来进行遍历跟2数组引用很像只不过用的指针
}printf(\n);printf(用指针/下标法法引用数据\n);
for ( i n-1; i 0 ; i--)
{printf(%d ,ptr[i]); //ptr[i]相当于 *a[i] 是对a[i]的引用
}printf(\n);return 0;
}