C语言之指针在函数调用中的应用
存放变量的地址就是指针,指针的指针就是指针变量
直接上代码:
int a = 3,b = 4;
point_1 = &a;
point_2 = &b;
Swap1(point_1,point_2);
void Swap1( int *i, int *j)
{
int t;
t=*i;
*i=*j;
*j=t;
}
void Swap2( int i, int j)
{
int t;
t=i;
i=j;
j=t;
}
void Swap3( int *i, int *j)
{
int *t;
t=i;
i=j;
j=t;
}
其中,
只有Swap1能确实的改变a和b的值;
Swap2交换的是形参i,j的值,a和b的值不受影响;
Swap3虽然得到了a和b的地址,但是只是将形参i,j存放的地址进行了交换,a和b的值不受影响;
总结:变量本身的地址是不可以改变的,只能通过指针变量得到实参的地址,然后通过实参的地址去改变实参的值;