例:指针运算的使用 inta,b[10],*p1=&a,*p2=&b[2,p3=b; p1>a(的运算对象是a的地址) p2b2] (p3+6)xb6 *(&a)x→a (&b3)>b[3 →b[0]
• 例:指针运算的使用 • int a,b[10],*p1=&a,*p2=&b[2],*p3=b; *p1 a (*的运算对象是a的地址) *p2 b[2] *(p3+6) b[6] *(&a) a *(&b[3]) b[3] *b b[0]
在混合使用&和*时,要注意分清它们各 自的运算对象和运算时的结合性 ·例:混合使用&和★两种运算符 int a, p=&a 结果 8a相当于*(&a)x &*a错,相当于&(a)x aa *8p相当于*(&p)x p &*p相当于&(p)x&a
• 在混合使用&和*时,要注意分清它们各 自的运算对象和运算时的结合性 • 例:混合使用&和*两种运算符 int a,*p=&a; 结果 *&a 相当于 *(&a) a &*a 错,相当于 &(*a) *a *&p 相当于 *(&p) p &*p 相当于 &(*p) &a
指针变量的应用 指针变量的应用主要是用来表示它所指向 的数据对象 包括普通变量、一维数组元素、二维数组 元素和字符串等数据对象 ·指向变量的指针变量的应用 使用指向普通变量的指针变量主要包括: 利用赋值方式使得指针变量指向变量,以后 利用“*指针变量”来引用所指向的普通变量
指针变量的应用 • 指针变量的应用主要是用来表示它所指向 的数据对象 • 包括普通变量、一维数组元素、二维数组 元素和字符串等数据对象 • 指向变量的指针变量的应用 使用指向普通变量的指针变量主要包括: 利用赋值方式使得指针变量指向变量,以后 利用 “*指针变量”来引用所指向的普通变量
使用指向普通变量的指针变量要注意几点 ①数据类型(是目标变量的类型) int a, pa float x, px, pa=&a, px=&X pa=&x;错,类型不一致 ②指针变量必须先赋值后引用(有指向) 技巧:若p指向a,则p是a的地址,*p就是a
使用指向普通变量的指针变量要注意几点 ①数据类型 (是目标变量的类型) • 例: int a,*pa; float x,*px; pa=&a; px=&x; pa=&x; 错,类型不一致 ②指针变量必须先赋值后引用(有指向) 技巧:若p指向a,则p是a的地址,*p就是a
例:指针变量没赋值其结果不可预料 错!!! int a=5, p1=&a, p2 *p1=*p1+*p2;p2指向的地址是随机的 p2=*p1;
• 例:指针变量没赋值其结果不可预料 错!!! int a=5,*p1=&a,*p2; *p1=*p1+*p2; p2指向的地址是随机的 *p2=*p1;