//一。指针函数
#include “stdafx.h”
void fun1(int a,int b)
{
printf(“%d %d”,a,b);
}
int _tmain(int argc, _TCHAR* argv[])
{
void (*fun)(int x,int y);//void 是被指函数的返回值类型,int为被指函数的形参类型
fun=fun1;
fun(10,20);
return 0;
}
二。参数的传递
// 0224.cpp : 界说控制台应用程序的进口点。
//
#include “stdafx.h”
int a=3;
int b=4;
void fun(int &x,int &y)//这种状况是引证传递。即没有在栈里拓荒新的空间,交流了x,y的内存数据
{//留意这儿&的含义不是取地址
int tem;
tem=x;
x=y;
y=tem;
}
void fun1(int x,int y)//这种状况时值传递,会开在栈里辟两个空间x,y,会交流栈里的值而不会作用于堆
{
int tem;
tem=x;
x=y;
y=tem;
}
void fun2(int *p1,int *p2)
{
int tem;
tem=*p1;
*p1=*p2;
*p2=tem;
}
int _tmain(int argc, _TCHAR* argv[])
{
fun(a,b);
printf(“a=%d b=%d”,a,b);
fun1(a,b);
printf(“a=%d b=%d”,a,b);
fun2(&a,&b);//形参是指针实参为地址
printf(“a=%d b=%d”,a,b);
return 0;
}