清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第10章 指针

第10章指针(4学时) ·指针是一种数据类型,是指存放数据的内 存地址 ·指针变量是一种变量,该变量存放的数据 就是指针型的数据,即内存地址 程序中可以通过变量名或数组名[下标]来引 用变量或数组元素,也可以通过指针变量 来引用变量或数组元素
第10章指针 (4学时) • 指针是一种数据类型,是指存放数据的内 存地址 • 指针变量是一种变量,该变量存放的数据 就是指针型的数据,即内存地址 • 程序中可以通过变量名或数组名[下标]来引 用变量或数组元素,也可以通过指针变量 来引用变量或数组元素

指针变量的引用方式运行速度 更快 使用指针变量前需将指针变量 “指向”变量或数组(元素) “指向”就是将变量或数组(元素) 的地址存放到指针变量中
• 指针变量的引用方式运行速度 更快 • 使用指针变量前需将指针变量 “指向”变量或数组(元素) • “指向”就是将变量或数组(元素) 的地址存放到指针变量中

指针变量的定义和引用 指针就是地址,指针变量就是存放地址型 数据的变量 指针变量的定义 格式:存储类型数据类型*指针变量名1 [=初值1], °其中,存储类型:[auto]、 static 数据类型:任何基本类型 初值:变量、数组元素的地址或数 组的首地址
指针变量的定义和引用 • 指针就是地址,指针变量就是存放地址型 数据的变量 指针变量的定义 • 格式:存储类型 数据类型 *指针变量名1 [=初值1],…… • 其中,存储类型: [auto] 、static 数据类型:任何基本类型 初值:变量、数组元素的地址或数 组的首地址

注意: 1.在一个定义语句中,可以同时定义普 通变量、数组及指针变量,并赋初值 2.“数据类型”是将要指向的变量或数 组的数据类型 3.指针变量前必须有“火”号 4.初值是,&普通变量、&数据元素或数 组名
• 注意: 1. 在一个定义语句中,可以同时定义普 通变量、数组及指针变量,并赋初值 2. “数据类型”是将要指向的变量或数 组的数据类型 3. 指针变量前必须有 “*”号 4. 初值是,&普通变量、&数据元素或数 组名

例:指针变量的定义和初始化 int a, p1=&a a p1&a char s[101,*p2=S, S数组 float x[5],*p3=&×2; p3 x[2 Ⅹ[o] Ⅹ[1 2] [3] [4]
• 例:指针变量的定义和初始化 int a,*p1=&a; char s[10],*p2=s; float x[5],*p3=&x[2]; p3 p1 &a a p2 s S数组 &x[2] X[0] X[1] X[2] X[3] X[4]

指针变量的引用 ·程序中引用指针变量常用的方式有3种 1.给指针变量赋值 形式:指针变量=地址型表达式 作用:指针变量指向目标变量 例:给指针变量赋值 int i, al10], p p_|=&i p_|=a+6: p_|=a 注:a+6是&a[6] p i=&a[2] a+6xa+62(字节)
指针变量的引用 • 程序中引用指针变量常用的方式有3种 1. 给指针变量赋值 形式:指针变量=地址型表达式 作用:指针变量指向目标变量 • 例:给指针变量赋值 int i,a[10],*p_i; p_i=&i; p_i=a+6; p_i=a; 注:a+6是&a[6] p_i=&a[2]; a+6 a+6*2(字节)

2.直接使用指针变量名 ·需要用到地址时,可以直接引用指针变量名 例:直接使用指针变量名 float yl 10],p1=y, p2 p2=p1; scanf(%f,%f,p1,p2+6);/存入y0]y[6]*/ 3.通过指针变量来引用它所指向的变量 形式:大指针变量名
2. 直接使用指针变量名 • 需要用到地址时,可以直接引用指针变量名 • 例:直接使用指针变量名 float y[10],*p1=y,*p2; p2=p1; scanf(“%f,%f”,p1,p2+6);/* 存入y[0],y[6]*/ 3. 通过指针变量来引用它所指向的变量 • 形式:*指针变量名

例:利用“*指针变量”引用所指向的数据 float x1=126X2=20,x3,*p1=8x1,p3=&x3; char s[10]="abcd, *ps 1=S, *ps 2=S+4 p3=*p1*×2; ps2=*ps1+2; 地址运算* 解释: p3=*p1*×2;>X3=×1x2→X3=12.6×20 ps2=*ps1+2;xs[4]=+2xs[4]=S[2}→ S[4]=c
• 例:利用“*指针变量”引用所指向的数据 float x1=12.6,x2=2.0,x3,*p1=&x1,*p3=&x3; char s[10]=“abcd”,*ps1=s,*ps2=s+4; *p3=*p1*x2; *ps2=*ps1+2; /* 地址运算*/ 解释: *p3=*p1*x2; x3=x1*x2 x3=12.6×2.0 *ps2=*ps1+2; s[4]=s+2 s[4]=s[2] s[4]=‘c’

取地址运算符和指针运算符 ·“&”称为取地址运算符,运算结果是地址 “*”称为指针运算符,运算对象是地址 取地址运算符和指针运算符 名称对象数与位置运算符对象类型运算规则结果类型结合性 取单目前&任何类取运算地址 地缀 型的变对象的 址 量、数 组元素 地址 指单目前地址地址对变量或自右 针缀 应的变数组元向左 量或数素的类 组元素型
取地址运算符和指针运算符 • “&” 称为取地址运算符,运算结果是地址 • “ * ”称为指针运算符,运算对象是地址 取地址运算符和指针运算符 名称 对象数与位置 运算符 对象类型 运算规则 结果类型 结合性 取 地 址 单目前 缀 & 任何类 型的变 量、数 组元素 取运算 对象的 地址 地址 指 针 单目前 缀 * 地址 地址对 应的变 量或数 组元素 变量或 数组元 素的类 型 自右 向左

取地址运算符“&”的运算对象必须是已 定义过的变量或数组元素 例:取地址运算符的使用 int a, b[101: &a,&a[0],&b[9]正确 指针运算符“”的运算对象必须是地址 常用已赋值的指针变量,也可以是普通变 量的地址或数组元素的地址 运算结果是地址所对应的变量或数组元素
• 取地址运算符“&”的运算对象必须是已 定义过的变量或数组元素 • 例:取地址运算符的使用 int a,b[10]; &a,&a[0],&b[9] 正确 • 指针运算符“*”的运算对象必须是地址 • 常用已赋值的指针变量,也可以是普通变 量的地址或数组元素的地址 • 运算结果是地址所对应的变量或数组元素 等
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)Introduction To Computers.ppt
- 西北工业大学:《软件工程》课程教学资源(PPT课件讲稿,主讲:谢明忠,共六章).ppt
- 计算机信息技术_基础知识测试题一(计算机基础知识).doc
- 计算机信息技术_计算机信息技术习题4.doc
- 计算机信息技术_计算机信息技术习题3.doc
- 计算机信息技术_计算机信息技术习题2.doc
- 计算机信息技术_计算机信息技术习题1.doc
- 西北工业大学计算机系:计算机信息技术(PPT教学课件).ppt
- 计算机信息技术_综合练习.doc
- 计算机信息技术_期末课程考试相关内容.doc
- 计算机辅助设计习题_计算机辅助设计总复习.ppt
- 计算机辅助设计习题_计算机辅助设计 第十七章 建筑造型.ppt
- 计算机辅助设计习题_计算机辅助设计 第十六章 家具及装潢.ppt
- 计算机辅助设计习题_计算机辅助设计 第十四章 三维网格曲面.ppt
- 计算机辅助设计习题_计算机辅助设计 第十三章 实体修改命令.ppt
- 计算机辅助设计习题_计算机辅助设计 第十二章 实体制作命令.ppt
- 计算机辅助设计习题_计算机辅助设计 第十章 三维立体造型原理及概述.ppt
- 计算机辅助设计习题_计算机辅助设计 第九章 建筑工程图.ppt
- 计算机辅助设计习题_计算机辅助设计 第八章 表格、图幅及几何作图.ppt
- 计算机辅助设计习题_计算机辅助设计 第七章 辅助命令.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第11章 结构体与共用体.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第12章 位运算.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第13章 文件.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第1章 C语言概述.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第2章 程序的灵魂一算法.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第3章 数据类型、运算符与表达式.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第4章 最简单的C程序设计一顺序程序设计.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第5章 选择结构程序设计.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第6章 循环控制.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第7章 数组.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第8章 函数.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第9章 预处理命令.ppt
- 电子科技大学《Delphi程序设计》_delphi应用.ppt
- 电子科技大学《Delphi程序设计》_delphi组件.ppt
- 电子科技大学《Delphi程序设计》_delphi语法基础.ppt
- 电子科技大学《Delphi程序设计》_认识delphi.ppt
- 电子科技大学《Delphi程序设计》_面向对象程序设计基础.ppt
- VC++程序设计_AnlexVC++1(英文).ppt
- VC++程序设计_AnlexVC++2(英文).ppt
- VC++程序设计_AnlexVC++3(英文).ppt