指针变量引用举例(07-=01.c int a, b, c, *pa, *pb, *pci pa =&ai pb=&bi pc =&ci 100; printf(*pa=od\n", *pa);/**pa=100 * pb=200; printf("b=d\n", b) /*b=200*/ scanf(d", pc) /*输入34*/ printf("c=号d\n",c); /*C=34*/ C语言程序设计-第7章指针
C语言程序设计 - 第7章 指针 11 指针变量引用举例 (07-01.C) int a, b, c, *pa, *pb, *pc; pa = &a; pb = &b; pc = &c; a = 100; printf("*pa=%d\n", *pa); /* *pa=100 */ *pb = 200; printf("b=%d\n", b); /* b=200 */ scanf("%d", pc); /* 输入34 */ printf("c=%d\n", c); /* c=34 */
指针变量与所指变量的关系 &a,&*pa *pa,*&a int a b pa int *pa, *pbi 10 pa a pb &b; *pa=10 b=20 20 p pbi pb &a b C语言程序设计-第7章指针
C语言程序设计 - 第7章 指针 12 指针变量与所指变量的关系 10 20 pa pb a b int a, b; int *pa, *pb; pa = &a; pb = &b; *pa = 10; b = 20; pa = pb; pb = &a; &a,&*pa *pa,*&a
指针变量作为函数参数 参数传递 ■仍然遵循“单向值传递”的规则 ■这里的传递规则是指针类型参数的值的传递 ■作为参数的指针型实参的值不会改变 ■但是对指针型实参所指向的内存数据所作的 操作将不会随函数的返回而恢复 用途 ■借助指针类型参数可以改变多个数据的值 C语言程序设计-第7章指针
C语言程序设计 - 第7章 指针 13 指针变量作为函数参数 ⚫ 参数传递 ◼ 仍然遵循“单向值传递”的规则 ◼ 这里的传递规则是指针类型参数的值的传递 ◼ 作为参数的指针型实参的值不会改变 ◼ 但是对指针型实参所指向的内存数据所作的 操作将不会随函数的返回而恢复 ⚫ 用途 ◼ 借助指针类型参数可以改变多个数据的值
指针类型函数参数举例(07-02.c void swap(int *x, int *y) a int七; t=*x,*x=*y,*y=t void main o 参数传递 pa&a 2 b int a=1, b=4 int *pa, *pb; pa=ca, pb=&b; swap(pa, pb) pb&b C语言程序设计-第7章指针
C语言程序设计 - 第7章 指针 14 指针类型函数参数举例 (07-02.C) void swap(int *x, int *y) { int t; t=*x, *x=*y, *y=t; } void main() { int a=1, b=4; int *pa, *pb; pa=&a, pb=&b; swap(pa, pb); } &a a pb &b 1 4 4 1 b pa &a y &b x 参数传递
指针的运算 运算类型 算术运算:加、减、自增、自减 ■关系运算:所有关系运算 ■赋值运算:一般赋值、加赋值、减赋值 上述运算在一定约束条件下才有意义(后详) 变量说明 p,q是同类型的指针变量 n是整型变量 C语言程序设计-第7章指针15
C语言程序设计 - 第7章 指针 15 指针的运算 ⚫ 运算类型 ◼ 算术运算:加、减、自增、自减 ◼ 关系运算:所有关系运算 ◼ 赋值运算:一般赋值、加赋值、减赋值 ◼ 上述运算在一定约束条件下才有意义(后详) ⚫ 变量说明 ◼ p,q是同类型的指针变量 ◼ n是整型变量