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

怎甘沉沦 提交于 2020-03-08 14:29:13

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

#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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!