c语言 用指针交换两个整数附内存图

// Pointer.cpp : 定义控制台应用程序的入口点。
//
!!!!!!VS2015中编辑的
#include “stdafx.h”

void swap1(int *x, int *y);
void swap2(int *x, int *y);
int main()
{
int a = 5, b = 6;
swap2(&a, &b);
swap1(&a, &b);
printf("%d %d", a, b);
return 0;
}
void swap1(int *x, int y)//输出型参数,一半是实际参数的地址传递过来,在被调用函数中通过符号远程操控实际参数
{
int t = *x;
*x = *y;
*y = t;
}
void swap2(int *x, int y)
{
int
t = x;//这里只是交换了指针的位置,实际数据没有交换
x = y;
y = t;
}

请观察变量a,b,t在内存中的位置
请观察变量a,b,t在内存中的位置
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43769045/article/details/84643897