1 #include"stdio.h" 2 /* 3 void Maxmin(int *Max,int *Min) 4 保证先在前的参数更大,否则交换两个数字 5 */ 6 /* 7 note1<变量是个抽象的概念,它有名称(变量名)、地址、内容> 8 note2<指针就是地址变量,如定义 int * fp 其中*标志类型,即指针类型,fp是名称,int标志指向的数据类型> 9 note3<fp=&a 将a的地址存入地址变量fp;*fp=0 将fp中地址的内容变为0,即fp内容的内容为0,执行后将有a=0> 10 note4<可将*号理解为取内容,&号理解为取地址> 11 note5<在a=0赋值语句中,等号左边是地址,右边是数值,将数值放入确定的地址,就像将物品放入确定的箱子> 12 */ 13 void Maxmin(int *Max,int *Min) 14 { 15 int cache; 16 if(*Max<*Min) 17 { 18 cache=*Max; 19 *Max=*Min; 20 *Min=cache; 21 } 22 } 23 24 void main() 25 { 26 int x=1,y=2; 27 int w=8,m=9; 28 int cache; 29 int * fp=&x; 30 31 printf("x=%d y=%d\n",x,y); 32 Maxmin(&x,&y); 33 printf("x=%d y=%d\n",x,y); 34 35 printf("w=%d m=%d\n",w,m); 36 w<m?(cache=w,w=m,m=cache):1; 37 printf("w=%d m=%d\n",w,m); 38 39 printf("fp_address:%X fp_value:%X *fp_value:%d\n\t\t x_address:%X x_value:%d\n\n",&fp,fp,*fp,&x,x); 40 fp=&y; 41 printf("fp_address:%X fp_value:%X *fp_value:%d\n\t\t y_address:%X y_value:%d\n\n",&fp,fp,*fp,&y,y); 42 }