通过指针操作数组内的元素顺序
#include <stdio.h>
void change_arr(int *parr,int se) //交换函数
{
int i=0;
int temp=0;
for(i=0;i<3;i++) //指针偏移定位元素并交换
{
temp= *(parr+i);
*(parr+i)=*(parr+se-i-1);
*(parr+se-i-1)=temp;
}
}
int main() //主函数
{
int i=0;
int arr[]={11,22,33,44,55,66}; //数组arr
int se=0;
se=sizeof(arr)/sizeof(arr[0]); //数组元素个数
change_arr(arr,se); //函数调用
for(i=0;i<6;i++) //数组打印
{
printf("%d ",arr[i]);
}
return 0;
}
运行结果
[Running] cd "f:\c code\" && gcc test1.c -o test1 && "f:\c code\"test1
66 55 44 33 22 11
[Done] exited with code=0 in 0.7 seconds
小结
数组名即地址,一维数组指针偏移,偏移的是元素的下标