1.用指針,函數調用實現交換兩個變量值
#include<stdio.h>
int exchange(int *a,int *b)
{
?int temp;
?temp=*a;
?*a=*b;
?*b=temp;
return 0;
}
int main()
{
?
?int i=9,j=2;
?int *p1,*p2;
?p1=&i;
?p2=&j;
?exchange(p1,p2);
?printf("p1=%d,p2=%d\n",*p1,*p2);
return 0;
}
2.函數指針
譚浩強書P286例子:int(*p)(int,int)定義了一個函數指針,特別的*p的括號不能去掉。函數指針=返回值+指針變量+參數列表,這個參數列表要跟這個函數指針指向的函數完全對應。
p=max表示將max函數的首地址賦給指針p,這樣p的內容(地址)就是max所指的地址,那么p就指向max函數的入口地址,那么*p就是p這個地址中的內容,在這里就是從開始地址進入,也就是調用函數max了。
?
?