C9.2变量的指针和指向变量的指针变量 语 当也可以在定义指针变量的同时指定其初值,如、 程|inta; a 计三、指针变量的引用 1、取地址运算:如:int*p,i=3,j=5; 精 p=&i;/让p其指向 变量i* 品2、对指针变量施加运算,则代表取指针所指向的单元的内容。 课 这里,*p与变量是等价的。 荆程区分:运算符在不同场合的作用,编译器能够根据上下文环境判別的作用 int a b.c. int*p;(*表示定义指针) p=&a; p=100;(*表示指针运算符) c=a*b;(*表示乘法运算符) 技术系
结束 首页 上页 下页 末页 节 也可以在定义指针变量的同时指定其初值,如、 int a; int *p = &a; 三、指针变量的引用 1、取地址运算:如: int *p , i=3, j=5; p=&i; /*让p其指向 变量i */ 2、对指针变量施加*运算,则代表取指针所指向的单元的内容。 这里,*p与变量i是等价的。 区分:*运算符在不同场合的作用,编译器能够根据上下文环境判别*的作用。 int a,b,c; int * p; (*表示定义指针) p = &a; *p = 100; (*表示指针运算符) c = a * b; (*表示乘法运算符) 9.2 变量的指针和指向变量的指针变量
C9.2变量的指针和指向变量的指针变量 语言程序设计精品课 printf(%dn”,p); p=&j printf("%d In" p); 但不能int char C=A p=&c;(类型不匹配) 荆程区分运算符的以下用法: int a, 我ntp=&a;定义指针变量时指定初值,是为p指定初值 p=100;/给指针p所指向的变量赋值,这里是给变量a赋值 技术系
结束 首页 上页 下页 末页 节 printf(“%d \n” ,*p) ; p=&j; printf(“%d \n” ,*p) ; 但不能 int *p; char c=‘A’ ; p=&c ; (类型不匹配) 区分*运算符的以下用法: int a ; int *p = &a; /* 定义指针变量时指定初值,是为p指定初值*/ *p = 100; /* 给指针p所指向的变量赋值,这里是给变量a赋值 */ 9.2 变量的指针和指向变量的指针变量
C9.2变量的指针和指向变量的指针变量 语 言例9_1c 程 main( I int *p1,*p2, a1, a2 设计精品课 scanf(%d %d,&a1, &a2); p1=&a1;p2=&a2; printf(o/ d,%dn”,p1,p2) 荆程 p2=p1 printf("%d, %d In",*p1,*p2) 这里有一个运算符*,其作用是:加在指针变量的前面, 取出该指针变量所指对象的内容。 技术系
结束 首页 上页 下页 末页 节 例9_1.c main( ) { int *p1, *p2, a1, a2; scanf(“%d %d” , &a1, &a2 ); p1 =&a1; p2=&a2; printf(“%d , %d \n” , *p1, *p2); p2 = p1; printf(“%d , %d \n” , *p1, *p2); } 这里有一个运算符*,其作用是:加在指针变量的前面, 取出该指针变量所指对象的内容。 9.2 变量的指针和指向变量的指针变量
语9.2变量的指针和指向变量的指针变量 程例92c使两个指针变量交换指向。 设 计main() tint*p1,*p2,*p,a1=10,a2=20; 精品课一 p1=&a1; p2=&a2; 荆程 printf((%d,%dⅦn”,*p1,*p2) p=p1;p1=p2;p2=p; printf((%d,%dⅦn”,*p1,*p2) 技术系
结束 首页 上页 下页 末页 节 例9_2.c 使两个指针变量交换指向。 main( ) { int *p1, *p2, *p, a1=10, a2=20; p1=&a1; p2=&a2; printf(“%d , %d \n ” , *p1, *p2); p=p1; p1=p2; p2=p; printf(“%d , %d \n ” , *p1, *p2); } 9.2 变量的指针和指向变量的指针变量
C 语 P1&a1 P1&a2 3 2 3 程 5 a2 5 2 P2&a2 P2|&a1 设 p 计 交换前 P=pl:p1=p2p2=交换后 精 课/下面表示p和p1交换所指内容 荆程 a P1&a1 P1&a1 3 P 5 5 a2 P2&a2 P2&a2 " p2 2 交换前a=p1:;1=*2;p2=p交换后 技术系
结束 首页 上页 下页 末页 节 交换前 下面表示p1和p1交换所指内容 3 5 a1 a2 P1 &a1 P2 &a2 3 5 a1 *p2 a2 *p1 交换后 P1 &a2 P2 &a1 5 3 a1 *p1 a2 *p2 交换后 P1 &a1 P2 &a2 3 5 a1 *p1 a2 *p2 交换前 P1 &a1 P2 &a2 a=*p1;*p1=*p2;*p2=p P=p1;p1=p2;p2=p