void swap(int *p1, int *p2)
{ int *p; p=p1; p1=p2; p2=p; } 结果:5,9 5,9
C语言学习心得:
பைடு நூலகம்
坚持语句规范,把握细节
坚持上机练习,熟练操作
坚持对比思考,理解区别
int
*p1,*p2;
p1=p2; int p2=p; }
地址传递也是单向传递!
{ int *p; p=p1; main( ) { int a,b; *pointer_1,*pointer_2; pointer_2=&b;
scanf(“%d,%d\n”,&a,&b);
pointer_1=&a; if (a<b) } swap(pointer_1,pointer_2);
4/1 4
指针变量的引用
指针变量的初始化: p = &i; 或 p=a; /* a为数组名 */
5/1 4
引用形式:指针变量名
相关运算符
—— 指针变量的内容(一个地址)
指针变量所指变量的内容
*指针变量名 ——
1) &:取地址运算符(变量或数组元素适用—取变量的首地址) 2) *:指针运算符(指针变量适用;注意与定义时的*不同) 3)=:赋值运算符 [p、*p均可,含义不同]
void swap(int *p1, int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; } 结果:5,9 9,5
对比实例2
#include <stdio.h>
void 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); }