浙江大学:《计算机程序设计》第八章 指针

任课教师:颜晖 课程名称:计算机程序设计( 课程代码: 0705004 教师E~mai:yqfjct02@dlc.zju.edu.cn 第31讲 浙江大学远程教育学院版权所有 2002-2003第二学期
颜晖 计算机程序设计(C) 31 0705004 yqfjc02@dlc.zju.edu.cn

第八章指针 指针 指针和数组 指针和字符串 指针数组和二级指针 指针和函数
第八章 指针 指针 指针和数组 指针和字符串 指针数组和二级指针 指针和函数

8.1指针 变量地址内容 直接访问 通过变量名直接访问地址 int x x20013 X=3 printf(%od, x 间接访问 px30002001 把变量的地址放到另一变量 中,使用时先找到后者的地 址,从中取出前者的地址 指针变量地址[另一变量的地址
8.1 指针 变量 地址 内容 int x; x = 3; printf(“%d”, x;) x 2001 3 px 3000 2001 直接访问: 通过变量名直接访问地址 间接访问: 把变量的地址放到另一变量 中,使用时先找到后者的地 址,从中取出前者的地址 指针变量 地址 另一变量的地址

int X 变量地址「内容」X=3:pint(%d3,x:) x20013某个变量的地址 指向 指向 px30002001指针变量:存放地址的变量 指针变量地址[另一变量的地址
变量 地址 内容 x 2001 3 px 3000 2001 指针变量 地址 另一变量的地址 指针变量:存放地址的变量 某个变量的地址 指向 指向 int x; x = 3; printf(“%d”, x;)

8.1.1指针变量的定义 类型名*指针变量名; 指针变量所指向变量的类型 int *px px是整型指针,指向整型变量 float pT, pf是浮点型指针,指向浮点型变量 char pc pc是字符型指针,指向字符型变量
8.1.1 指针变量的定义 指针变量所指向变量的类型 int *px; px 是整型指针,指向整型变量 float *pf; pf 是浮点型指针,指向浮点型变量 char *pc; pc 是字符型指针,指向字符型变量 类型名 *指针变量名;

int *px 注意:指针变量名是px,不是*x 类型名*指针变量名 int*pl,*p2;等价于int*pl; Int *k p2:
类型名 * 指针变量名; int *p1, *p2; 等价于 int * p1; int * p2; int *px; 注意:指针变量名是 px,不是*px

8.1.2指针的基本操作 1、&和* &取地址运算符 *指针运算符(间接访问运算符) int*p, a=3 p=&a,把a的地址赋给p,即p指向a a a3 *p:p所指向的变量a
8.1.2 指针的基本操作 *p: p所指向的变量 a a &a 3 p *p 1、&和* & 取地址运算符 * 指针运算符(间接访问运算符) int *p, a = 3; p=&a; 把 a 的地址赋给 p,即 p 指向 a

例8.1指针运算 main i int a=3, p; p a p=&a; &a printf( %d, %d\,,a, *p) scanf( %d ,&a) 输入57 printf("%d, %dn,a, *p) scanf( %d,, p) 输出: printf("%d, %dn,a, *p) 3.3 5.5 p=10 7.7 printf("%d, %dn,,a, * p) 10.10
a &a 3 p * p 输入 5 7 输出: 3, 3 5, 5 7, 7 10, 10 main( ) { int a = 3, *p; p = &a; printf(“%d,%d \n”, a, *p); scanf(“%d”, &a); printf(“%d,%d \n”, a, *p); scanf(“%d”, p); printf(“%d,%d \n”, a, *p); *p = 10; printf(“%d,%d \n”, a, *p); }例8.1指针运算

例8,2指针运算 main( It a. b p a int pl 2 pl,p &a 100 p a=100:b=10 2 p1=&a; &b 10*p2 2=&b printf( %od, %dn, a, b) 输出 printf( %d, %dn,,*pl, *p2); 100.10 100.10
b &b 10 p2 *p2 输出: 100, 10 100, 10 a &a 100 p1 *p1 main( ) { int a, b; int *p1, *p2; a = 100; b = 10; p1 = &a; p2 = &b; printf(“%d, %d\n”, a, b); printf(“%d, %d\n”, *p1, *p2); } 例8.2指针运算

指针运算注意事项 (1)当p=&a后,*p与a相同。 (2)int*tp;定义 *p=10;p所指向的变量 (3)&*p与&a相同,是地址 *&a与a相同,是变量 p a &a 3 p
a &a 3 p *p 指针运算注意事项 (1) 当 p=&a 后,*p 与 a 相同。 (2) int *p; 定义 *p =10; p所指向的变量 (3) &*p 与 &a 相同,是地址 *&a 与 a 相同,是变量
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 浙江大学:《计算机程序设计》第九章 结构.ppt
- 浙江大学:《计算机程序设计》第八章 指针.pps
- 浙江大学:《计算机程序设计》第七章 数组.ppt
- 浙江大学:《计算机程序设计》第七章 数组.pps
- 浙江大学:《计算机程序设计》第五章 循环结构程序设计.ppt
- 浙江大学:《计算机程序设计》第六章 函数.pps
- 浙江大学:《计算机程序设计》第五章 循环结构程序设计.pps
- 浙江大学:《计算机程序设计》第四章 分支结构程序设计.ppt
- 浙江大学:《计算机程序设计》第三章 算法与C程序设计.pps
- 浙江大学:《计算机程序设计》第三章 算法与C程序设计.ppt
- 浙江大学:《计算机程序设计》第四章 分支结构程序设计.pps
- 浙江大学:《计算机程序设计》第十章 文件.ppt
- 《大学计算机基础》课程教学资源:单元练习二.doc
- 《大学计算机基础》课程教学资源:计算机一级等级考试复习题目.doc
- 《大学计算机基础》课程教学资源:单元练习三.doc
- 《大学计算机基础》课程教学资源:练习题一.doc
- 《大学计算机基础》课程教学资源(PPT课件讲稿)第四章 习题答案.ppt
- 《大学计算机基础》课程教学资源(PPT课件讲稿)第十章 习题答案.ppt
- 《大学计算机基础》课程教学资源(PPT课件讲稿)第十一章 习题答案.ppt
- 《大学计算机基础》课程教学资源(PPT课件讲稿)第六章 习题答案.ppt
- 浙江大学:《计算机程序设计》第一章 绪论.pps
- 浙江大学:《计算机程序设计》第一章 绪论.ppt
- 浙江大学:《计算机程序设计》第二章 基本数据类型和表达式.ppt
- 浙江大学:《计算机程序设计》第二章 基本数据类型和表达式.pps
- 浙江大学:《计算机程序设计》第六章 函数.ppt
- 浙江大学:《计算机程序设计》循环编程.doc
- 浙江大学:《计算机程序设计》第十二章 文件.pps
- 浙江大学:《计算机程序设计》第十二章 文件.ppt
- 浙江大学:《计算机程序设计》第三章 算法与c程序设计.pps
- 浙江大学:《计算机程序设计》第三章 算法与c程序设计.ppt
- 浙江大学:《计算机程序设计》第四章 分支结构程序设计.pps
- 浙江大学:《计算机程序设计》第四章 分支结构程序设计.ppt
- 浙江大学:《计算机程序设计》第五章 循环结构程序设计.pps
- 浙江大学:《计算机程序设计》第五章 循环结构程序设计.ppt
- 浙江大学:《计算机程序设计》第六章 函数.pps
- 浙江大学:《计算机程序设计》第八章 指针.pps
- 浙江大学:《计算机程序设计》第七章 数组.ppt
- 浙江大学:《计算机程序设计》第八章 指针.ppt
- 浙江大学:《计算机程序设计》第七章 数组.pps
- 浙江大学:《计算机程序设计》第九章 结构.ppt