定义一个数组,用函数交换数组中的两个元素(C语言)

定义一个数组,用函数交换数组中的两个元素

#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;
}

区分概念:

  1. *a : 是地址里的
  2. Array+n:数组中第 n 个元素的地址
  3. &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的地址*/

000000000062FE00000000000062FE04000000000062FE00000000000062FE14

发布了108 篇原创文章 · 获赞 114 · 访问量 8558

猜你喜欢

转载自blog.csdn.net/weixin_45773503/article/details/104726233