2)直接使用指针变量 tA: int a, b, c, *p1=&a, *p2=&b scanf(“%d,%d,%d”,p1,p2,&c); 3)通过指针变量来引用变量 指针变量 如:inta=4,b=6,c,*1=&b,*p2=&c; p2=a+*p1*b;/*C=a+b米b米/ printf(%d”,c);
2)直接使用指针变量 如: int a,b,c,*p1=&a,*p2=&b; scanf(“%d,%d,%d”,p1,p2,&c); 3)通过指针变量来引用变量 *指针变量 如: int a=4,b=6,c,*p1=&b,*p2=&c; *p2=a+*p1*b; printf(“%d”,c); /*c=a+b*b*/
3.有关运算符 1)&运算符 如:&x &a[5] 2)*运算符 如:inta,*p=&a;则 &a代表 *p代表 &*a代表 米&p代表 米&a代表 &*p代表
1)&运算符 3.有关运算符 如: &x; &a[5]; 2)*运算符 如: int a,*p=&a;则 &a 代表 *p 代表 &*a 代表 *&p 代表 *&a 代表 &*p 代表
例:指针变量算术运算 main t short a=1, b=2, c=3, *p1=&b float d=4.0,e=5.0,f=6.0,*p2=8e; printf( %x, %d\n,, p1, b) p printf(“%x,%dln”,pl1,c) pl=p1-2; printf(“%x,%d\mn”,pl1,a); printf ( %x, %f\n, p2 d) p2+ printf(“%x,%f"n”,p2,e); p2=p2-2; printf(“%x,%f\n”,p2, ,f);
例: 指针变量算术运算 main() { short a=1,b=2,c=3,*p1=&b; float d=4.0,e=5.0,f=6.0,*p2=&e; printf(“%x,%d\n”,p1,b); p1++; printf(“%x,%d\n”,p1,c); p1=p1-2; printf(“%x,%d\n”,p1,a); printf(“%x,%f\n”,p2,d); p2++; printf(“%x,%f\n”,p2,e); p2=p2-2; printf(“%x,%f\n”,p2,f); }
例:指针变量逻辑运算 main i short a=l, b=2, *p1=&a, *p2=&b printf(“DD2=%d\n”,p1>p2) 0 printf(“pl<=p2=%d\n”,p1<=p2);1 printf(“p1&8p2=%dln”,p1&kp2);1 假设a的地址为:fd4, b的地址为:fd6
main() { short a=1,b=2,*p1=&a,*p2=&b; printf(“p1>p2=%d\n”,p1>p2); printf(“p1<=p2=%d\n”,p1<=p2); printf(“p1&&p2=%d\n”,p1&&p2); } 例: 指针变量逻辑运算 假设 a的地址为:ffd4, b的地址为:ffd6 0 1 1
第三节指针与变量 如:inta,*pa; pa=&a 假设要给a赋值3 a pa &a -3 直接赋值 间接赋值 a=3; pa=3;
第三节 指针与变量 如: int a,*pa; pa=&a; 假设要给a赋值3 ? a 3 直接赋值 a=3; pa &a a 3 间接赋值 *pa=3;