()第十章指针 Ch9 3. c 例将数从大到小输出 (main) swap(int*pl,int“p2) 2000 整型变量a i int p; 2002 整型变量b 5 p=p1; 20041 指针 pointer 1 2 2000 p p2; 2006 地址传递 指针 pointer p2=p 2002 2008 200A maino i int a, b 200C int*pointer 1, "pointer 2 200E scanf(%od, %d", &a, &b); 2010 pointer 1=&a; pointer 2=&b if(ab swap(pointer 1, pointer 2); printf("In%/od, % dn, a, b); 运行结果:9,5
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 地址传递
第中章指针= Ch9 31.c 例将数从大到小輸出 (main) swap(int*pl, int*p2) 2000 整型变量a i int*p; 2002 整型变量b p-ax 9 p=; 2004 指针 pointer 2000 2: pIpz 2006 指针 pointer 2002 p2=p; 2008 COPY∧200N2000 (swap 指针p1 main 200 指针p2 Int a, b; 2002 200E 指针p int*pointer 1, pointer 2 xk2 2010 假设2000 scanf(%d, %od", &a, &b) pointer 1=&a; pointer 2=&b if(a<b)swap(pointer 1, pointer 2) 指针变量在使用 printf("in%d, %od\n", a, b); 运行结果:9,9
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 例 将数从大到小输出 …... 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 指针变量在使用前 必须赋值! int x; int *p=&x;
()第十章指针 C Ch9 32c 例将数从大到小输出 (main) /ch1032.c 2D00 整型a swap(int x, int y) 2D02 整型b int t. 值传递 pointer 1 t=X;x=y; y=t; 2000 2D06 pointer 2 2002 maint COPY i int a, b 20 (swap) 整型x int *pointer 1, "pointer 2; 200 整型b scanf(%d,od", &a, &b); 200E 整型t pointer 1=&a; pointer 2=&b; 2D10 if(a<b) swap( pointer 1, pointer 2); printf(In%d,%d\n",a, b); 运行结果:5,9 18
18 第十章 指针 /*ch10_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
()第十章指针 Ch9 33. c 例将数从大到小输出 swap(int*pl, int*p2) (main) 2000 〔int“p; 整型a 2002 5 整型b p-pI; pl=p2; 地址传递 2004 pointer I 2000 2006 pz-p; pointer 2 COPY2008}2002 maint (0 200 (swap) 指针p1 2002 i int a, b 200C 指针p2 int *pointer *pointer_ _2, 2000 200E 指针p scanf(%od, %d", &a, &b) 2000 2010 pointer 1=&a; pointer 2=&b f(a<b) swap(pointer 1, pointer 2); printi("%ad,%d", pointer-1, pointer-2;运行结果:5,9
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
()第十章指针 10.3指针与数组 指向数组元素的指针变量 array 例 int array0; array array int“p: p=& array;今p= array; array 3 或intp=& arrayal; 或int*p= array; array 整型指针p& carraro 数组名是表尔数组首地址的地址常量
20 第十章 指针 ▪ 10.3 指针与数组 • 指向数组元素的指针变量 例 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 数组名是表示数组首地址的地址常量