#include <stdio.h>
#include <stdlib.h>
void interchange (int *u,int *v);
int main(int argc, char *argv[]) {
int x=5,y=10;
printf("x=%dandy=%d\n",x,y);
interchange(&x,&y);
printf("nowx=%dandy=%d\n",x,y);
return 0;
}
void interchange(int *u,int *v)
{int temp;
temp=*u;
*u=*v;
*v=temp;
}
interchange(&x,&y);把地址发送给函数。
temp=*u;temp获得u所指向对象的值 。
u=v;
*v=temp;
function(x);//传递的是函数的值。
int function(int num);//函数定义中的形式参数必须是与x的类型相同的变量。
function(&x);//传递的是函数的地址。
int function(int *num);//形式参数必须是一个指向正确类型的指针
如果要计算或处理值,那么使用第一种形式的函数调用。
如果要在被调函数中改变主调函数的变量,则使用第二种形式。
如果
a=&b;
那么*a表示的是存储在&b地址上的值。