清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第10章_指针

清华大学出版社 TSINGHUA UNIVERSITY PRESS 第十章 指针
第十章

清华大学出版社 TSINGHUA UNIVERSITY PRESS ●主要内容 10.1地址和指针的概念 10.2变量的指针和指向变量的指针变量 10.3数组与指针 10.4字符串与指针 10.5指向函数的指针 10.6返回指针值的函数 10.7指针数组和指向指针的指针 10.8有关指针的数据类型和指针运算的小结 C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 2 ⚫ 主要内容 10.1地址和指针的概念 10.2变量的指针和指向变量的指针变量 10.3数组与指针 10.4字符串与指针 10.5指向函数的指针 10.6返回指针值的函数 10.7指针数组和指向指针的指针 10.8有关指针的数据类型和指针运算的小结

清华大学出版社 TSINGHUA UNIVERSITY PRESS 10.1地址和指针的概念 内存区的每一个字节有一个编号,这就是“地址” 如果在程序中定义了一个变量,在对程序进行编译时 系统就会给这个变量分配内存单元 1.按变量地址存取变量值的方式称为“直接访问”方式 pri n t f("%d", i); s canf(" d",&i): k=i十j; C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 3 10.1地址和指针的概念 内存区的每一个字节有一个编号,这就是“地址” 。 如果在程序中定义了一个变量,在对程序进行编译时, 系统就会给这个变量分配内存单元。 1.按变量地址存取变量值的方式称为“直接访问”方式 printf(″%d″,i); scanf(″%d″,&i); k=i+j;

清华大学出版社 TSINGHUA UNIVERSITY PRESS 内存用户数据区 2000 变量i 2002 变量j 2004 变量k 3010 2000 变量i_ pointer C程序设计(第三版) http://ccf.tsinghua.edu.cn 4
C程序设计(第三版) http://ccf.tsinghua.edu.cn 4

清华大学出版社 TSINGHUA UNIVERSITY PR 2.另一种存取变量值的方式称为“间接访问”的方式 即,将变量i的地址存放在另一个变量中 在C语言中,指针是一种特殊的变量,它是 存放地址的。 2000 i pointer 2000 2000 (b) C程序设计(第三版) http://ccf.tsinghuaedu.cn 5
C程序设计(第三版) http://ccf.tsinghua.edu.cn 5 2. 另一种存取变量值的方式称为“间接访问”的方式。 即,将变量i的地址存放在另一个变量中。 在C语言中,指针是一种特殊的变量,它是 存放地址的

清华大学出版社 TSINGHUA UNIVERSITY PRESS 指针和指针变量的定义: 个变量的地址称为该变量的“指针” 例如,地址2000是变量i的指针。如果有一个变 量专门用来存放另一变量的地址(即指针),则 它称为“指针变量”。上述的 i pointer就是 个指针变量 C程序设计(第三版) http://ccf.tsinghua.edu.cn 6
C程序设计(第三版) http://ccf.tsinghua.edu.cn 6 一个变量的地址称为该变量的“指针”。 例如,地址2000是变量i的指针。如果有一个变 量专门用来存放另一变量的地址(即指针),则 它称为“指针变量”。上述的i_pointer就是一 个指针变量。 指针和指针变量的定义:

清华大学出版社 TSINGHUA UNIVERSITY PRESS 10.2变量的指针和指向变量的指 针变量 pointer *pointer 2000 2000 10.2.1定义一个指针变量 定义指针变量的一般形式为 基类型指针变量名; C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 7 10.2 变量的指针和指向变量的指 针变量 10.2.1 定义一个指针变量 定义指针变量的一般形式为 基类型 *指针变量名;

清华大学出版社 TSINGHUA UNIVERSITY PRESS 下面都是合法的定义: float *pointer 3 char pointer 4 可以用赋值语句使一个指针变量得到另一个变 量的地址,从而使它指向 pointer 例如: pointer 1 =& pointer 2=&j; pointer- 2 C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 8 下面都是合法的定义: float *pointer_3; char *pointer_4; 可以用赋值语句使一个指针变量得到另一个变 量的地址,从而使它指向一个该变量。 例如: pointer_1=&i; pointer_2=&j;

在定义指针变量时要注意两点:s (1)指针变量前面的“*”,表示该变量的类型为指针型 变量。 例:foat* pointer1; 指针变量名是 pointer1,而不是* pointer1。 (2)在定义指针变量时必须指定基类型 需要特别注意的是,只有整型变量的地址才能放到指向 整型变量的指针变量中。下面的赋值是错误的 float a Int*k pointer 1 pointer 1=&a C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 9 在定义指针变量时要注意两点: (1)指针变量前面的“*”,表示该变量的类型为指针型 变量。 例: float *pointer_1; 指针变量名是pointer_1 ,而不是* pointer_1 。 (2) 在定义指针变量时必须指定基类型。 需要特别注意的是,只有整型变量的地址才能放到指向 整型变量的指针变量中。下面的赋值是错误的∶ float a; int * pointer_1; pointer_1=&a;

清华大学出版社 TSINGHUA UNIVERSITY PRESS 10.2.2指针变量的引用 注意:指针变量中只能存放地址(指针), 不要将一个整数(或任何其他非地址类型的数据) 赋给一个指针变量 例10.1通过指针变量访问整型变量 #include void main () int a, b; Int pointer 1 pointer 2; a=100;b=10; pointer1=&a;/把变量a的地址赋给 pointer 1* C程序设计(第三版) http://ccf.tsinghua.edu.cn 10
C程序设计(第三版) http://ccf.tsinghua.edu.cn 10 10.2.2 指针变量的引用 注意:指针变量中只能存放地址(指针), 不要将一个整数(或任何其他非地址类型的数据) 赋给一个指针变量。 例10.1 通过指针变量访问整型变量 #include void main ( ) { int a,b; int *pointer_1, *pointer_2; a=100;b=10; pointer_1=&a; /*把变量a的地址赋给 pointer_1 */
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)目录.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第八章 微型计算机接口技术.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第七章 I/O接口电路.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第六章 输入/输出及中断系统.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第五章 半导体存储器及其应用.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第四章 汇编语言程序设计.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第三章 计算机指令系统.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第二章 微型计算机结构.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第一章 计算机基础知识.ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)项目开发过程.ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(知识讲义)ASP编程.doc
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(知识讲义)图书馆信息管理系统.doc
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(知识讲义)ADO对象编程.doc
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)软件工程.ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)VB数据库编程技术(6.5-6.8).ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)VB数据库编程技术(6.1-6.4).ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)计算机网络基础.ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)数据库基础(结构化查询语言SQL).ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)数据库基础(数据库理论).ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(知识讲义)数据报表部分.doc
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第11章_结构体与共用体.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第12章_位运算.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第13章_文件.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第14章_常见错误和程序调试.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
- 东北电力大学:《C语言程序设计》WORD讲义.doc
- 东北电力大学:《C语言程序设计》C语言实验上机指导.doc
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第10章 指针.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第11章 结构体与共用体.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第12章 位运算.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第13章 文件.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第1章 C语言概述.ppt