定义一个数组,用函数交换数组中的两个元素
#include <stdio.h>
void swap(int *a, int *b);
int main(void)
{
int Array[]={1,2,3,4,5};
swap(Array+1, Array+3);
for(int i=0; i<5; i++){
printf("%d " ,Array[i]);
}
}
void swap(int *a, int *b){
int temp;
temp = *a;
*a = *b;
*b = temp;
}
区分概念:
- *a : 是地址里的值
- Array+n:数组中第 n 个元素的地址
- &Array+n:跨越 n 个数组长度的地址
区分 Array+n 和 &Array+n
int Array[]={1,2,3,4,5}; /*定义一个数组*/
printf("%p\n", Array); /*Array的地址*/
printf("%p\n", Array+1); /*Array+1的地址*/
printf("%p\n", &Array); /*&Array的地址*/
printf("%p\n", &Array+1); /*&Array的地址*/