指针作为参数的经典例子



#include "stdafx.h"
#include 
//输出型参数
void Swap(int *a , int *b)
{
	int t = *a ;
	*a = *b;
	*b = t;
}
//输入型参数
void Swap1(int *a , int *b)
{
	int *t = a;
	a = b;
	b = t;
}
//输入型参数
void Swap2(int a , int b)
{
	int t = a;
	a = b;
	b = t;
}
//多个返回值的输出可以考虑使用输出型参数
void Test(int a , int b , int *pPlus , int *pDec)
{
	*pPlus = a + b;
	*pDec = a - b;

}
int main(int argc, char* argv[])
{
	//指针变量作形式参数时,经常用于改变主调函数的实参数值
	//(使用取值符号*或者下标[]来远程操作实参)
	//这种被调函数的形式参数我们称之为:输出型参数
	
	int x = 20 , y = 10;
	Swap(&x,&y);
	Swap1(&x,&y);
	Swap2(x,y);

	int nPlus,nDec;
	Test(x,y,&nPlus,&nDec);


	return 0;
}

你可能感兴趣的:(指针作为参数的经典例子)