你现在所处的位置在:蔥页→C语言教学→幻片版→第八章指针 例将数从大到小输出(1) swap(int *pl, int *p2) i int p (main) 2000 整型变量n- p-p 1一* 2002 整型变量b p 2: 2004 指针 pointer pz-p 2000 2006 指针 地址传递 pointer 2 2002 ma 2008 i int a, b 200A pointer I, pointer 2 200C scanf("%od, %d", &a, &b) 200E pointer_ 1=&a; pointer_2=&b; 2010 if(a<b)swap(pointer I, pointer 2) printf("n%d, %dn", a, b) 运行结果:9,5 BACK 16
你现在所处的位置在:首页→C语言教学→幻灯片版→第八章 指针 16 swap(int *p1, int *p2) { int p; p=*p1; *p1=*p2; *p2=p; } main() { int a,b; int *pointer_1,*pointer_2; scanf("%d,%d",&a,&b); pointer_1=&a; pointer_2=&b; if(a<b)swap(pointer_1,pointer_2); printf("\n%d,%d\n",a,b); } …... 2000 2008 200A 2002 2004 2006 200C 200E 2010 ... 5 9 整型变量a 整型变量b (main) 指针pointer_1 指针pointer_2 2000 2002 5 9 运行结果:9,5 地址传递 例 将数从大到小输出(1)
你现在所处的位置在:道C语言教学幻片版>第八章指针 例将数从大到小输出(2)0h3i swap(int *pl, int*p2) i int*p (main) 整型变量a p=*p1 Int X; 整型变量b p 1=*p2 PZ, int *p=&x 2004 指针 pointer p2=*p 2000 2006 指针 pointer 2 编译警告! 2002 2008 malr 结果不对!COPY 200A (swap) i int a, b 指针p1 2000 int*pointer I, pointer 2 200C 指针p2 2002 scanf("%d, %od", &a, &b) 200E :指针p pointer 1=&a; pointer 2=&b 假设2000 if(a<b) swap(pointer 1, pointer 2) printf("n%d, %odn", a, b) 指针变量在使用 必须赋值人 运行结果:9,9 BACK 117
你现在所处的位置在:首页→C语言教学→幻灯片版→第八章 指针 17 swap(int *p1, int *p2) { int *p; *p=*p1; *p1=*p2; *p2=*p; } main() { int a,b; int *pointer_1,*pointer_2; scanf("%d,%d",&a,&b); pointer_1=&a; pointer_2=&b; if(a<b) swap(pointer_1,pointer_2); printf("\n%d,%d\n",a,b); } 运行结果:9,9 编译警告! 结果不对! int x; int *p=&x;x; …... 2000 2008 200A 2002 2004 2006 200C 200E 2010 ... 5 9 整型变量a 整型变量b (main) 指针pointer_1 指针pointer_2 2000 2002 9 9 2000 2002 COPY (swap) 指针p1 指针p2 指针p **** 假设2000 指针变量在使用前 必须赋值! 例 将数从大到小输出(2)
你现在所处的位置在:直页→C语言教学≯幻片版→第八章指针 例将数从大到小输出(3) * ch9 32 c*/ (main) swap(int x, int y) 20 整型 i int t 2002 整型b X. X 值传递 2004 pointer 1 2000 2006 malr 2002 pointer 2 2008 Int a, b, COPY 200 (swap) 整型x int*pointer 1, *pointer 2 scanf("%od, %d", &a, &b) 200C 整型b pointer 1=&a; pointer 2=&b 200B 整型t if( a ab)swap(* pointer 1, pointer 2) 2010 printf("n%d, %,a, b) 运行结果:5,9 BACK 8
你现在所处的位置在:首页→C语言教学→幻灯片版→第八章 指针 18 /*ch9_32.c*/ swap(int x,int y) { int t; t=x; x=y; y=t; } main() { int a,b; int *pointer_1,*pointer_2; scanf("%d,%d",&a,&b); pointer_1=&a; pointer_2=&b; if(a<b) swap(*pointer_1,*pointer_2); printf("\n%d,%d\n",a,b); } 运行结果:5,9 值传递 …... 2000 2008 200A 2002 2004 2006 200C 200E 2010 ... 5 9 整型a 整型b (main) pointer_1 pointer_2 2000 2002 9 COPY (swap) 整型x 整型b 整型t 5 5 95 例 将数从大到小输出(3)
你现在所处的位置在:蔥页→C语言教学→幻片版→第八章指针 例将数从大到小输出(4) swap(int *pl, int *p2) i int*p (main) p=pl 0 整型 pl=p2 2002 5 整型b p2=p; 地址传递 20041 pointer 1 2000 20061 pointer 2 main( 2002 i int a, b COPYY2008 200 (swap) int*pointer 1, pointer 2 指针pl 2002 指针p2 scanf("%d, %/od", &a, &b) 20C 2000 pointer 1=&a; pointer 2=&b 200E 指针p 2000 if(a<b) swap(pointer 1, pointer 2) printf("%d, %d",pointer 1, *pointer 2) 运行结果:5,9 BACK
你现在所处的位置在:首页→C语言教学→幻灯片版→第八章 指针 19 运行结果:5,9 swap(int *p1, int *p2) { int *p; p=p1; p1=p2; p2=p; } main() { int a,b; int *pointer_1,*pointer_2; scanf("%d,%d",&a,&b); pointer_1=&a; pointer_2=&b; if(a<b) swap(pointer_1,pointer_2); printf("%d,%d",*pointer_1,*pointer_2); } …... 2000 2008 200A 2002 2004 2006 200C 200E 2010 ... 5 9 整型a 整型b (main) pointer_1 pointer_2 2000 2002 2000 2002 COPY (swap) 指针p1 指针p2 指针p 2000 **** 地址传递 2000 2002 例 将数从大到小输出(4)
你现在所处的位置在:直页→C语言教学≯幻片版→第八章指针 83指针与数组 ◆指向数组元素的指针变量 arrays p 例 Int arrayITO -i-array 3 array 2 p=& arrayal;∥÷→p=aray; array3 或int*p=&aray[o]; 或int*p= array; array 整型指针p& carraro 数组名是表示数组首地址的地址常量 0○ BACK 0
你现在所处的位置在:首页→C语言教学→幻灯片版→第八章 指针 20 指向数组元素的指针变量 例 int array[10]; int *p; p=&array[0]; // p=array; 或 int *p=&array[0]; 或 int *p=array; array[0] array[1] array[2] array[3] array[9] ... 整型指针p &array[0] p 数组名是表示数组首地址的地址常量 8.3 指针与数组