清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第八章 使用指针

清华大学出版社 TSINGHUA UN/VERSITY PRESS 第八章 使用指针
第八章

清华大学出版社 TSINGHUA UNIVERSITY PRESS ●主要内容 8.1地址和指针的概念 8.2变量的指针和指向变量的指针变量 83通过指针引用数组 84通过指针字符串 85指向函数的指针 8.6返回指针值的函数 87指针数组和多重指针 88动态内存分配与指向它的指针变量
⚫ 主要内容 8.1 地址和指针的概念 8.2 变量的指针和指向变量的指针变量 8.3 通过指针引用数组 8.4 通过指针字符串 8.5 指向函数的指针 8.6 返回指针值的函数 8.7 指针数组和多重指针 8.8 动态内存分配与指向它的指针变量

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

清华大学出版社 TSINGHUA UNIVERSITY PRESS 内存用户数据区 2000 变量i 2002 369 变量j 2004 变量k 3010 2000 变量i_ pointer

清华大学出版社 TSINGHUA UNIVERSITY PRESS 2.另一种存取变量值的方式称为“间接访问”的方式 即,将变量i的地址存放在另一个变量中。 在C语言中,指针是一种特殊的变量,它是 存放地址的。 2000 (a) i pointer 2000 2000 (b)
2. 另一种存取变量值的方式称为“间接访问”的方式。 即,将变量i的地址存放在另一个变量中。 在C语言中,指针是一种特殊的变量,它是 存放地址的

清华大学出版社 TSINGHUA UNIVERSITY PRESS 指针和指针变量的定义: 个变量的地址称为该变量的“指针 例如,地址2000是变量i的指针。如果有一个变 量专门用来存放另一变量的地址(即指针),则 它称为“指针变量”。上述的 i_pointer就是一 个指针变量
一个变量的地址称为该变量的“指针” 。 例如,地址2000是变量i的指针。如果有一个变 量专门用来存放另一变量的地址(即指针),则 它称为“指针变量”。上述的i_pointer就是一 个指针变量。 指针和指针变量的定义:

清华大学出版社 TSINGHUA UNIVERSITY PRESS 8.2变量的指针和指向变量的指针变量 1 pointer来1 pointer 2000 2000 8.2.1怎样定义指针变量 定义指针变量的一般形式为 基类型指针变量名;
8.2 变量的指针和指向变量的指针变量 8.2.1 怎样定义指针变量 定义指针变量的一般形式为 基类型 *指针变量名;

清华大学出版社 TSINGHUA UNIVERSITY PRESS 下面都是合法的定义: float *pointer 3 char pointer 4 可以用赋值语句使一个指针变量得到另一个变 量的地址,从而使它指向一个该变量 例如: pointer 1 pointer 1 =& pointer 2=&j; pointer
下面都是合法的定义: float *pointer_3; char *pointer_4; 可以用赋值语句使一个指针变量得到另一个变 量的地址,从而使它指向一个该变量。 例如: pointer_1=&i; pointer_2=&j;

清华大学出版社 TSINGHUA UNIVERSITY PRESS 在定义指针变量时要注意两点 (1)指针变量前面的“*”,表示该变量的类型为指针型 变量 例:foat* pointer1; 指针变量名是 pointer1,而不是* pointer_1。 (2)在定义指针变量时必须指定基类型。 需要特别注意的是,只有整型变量的地址才能放到指向 整型变量的指针变量中。下面的赋值是错误的 float a int pointer 1 pointer 1=&a;
在定义指针变量时要注意两点: (1)指针变量前面的“*”,表示该变量的类型为指针型 变量。 例: float *pointer_1; 指针变量名是pointer_1 ,而不是* pointer_1 。 (2) 在定义指针变量时必须指定基类型。 需要特别注意的是,只有整型变量的地址才能放到指向 整型变量的指针变量中。下面的赋值是错误的∶ float a; int * pointer_1; pointer_1=&a;

清华大学出版社 TSINGHUA UNIVERSITY PRESS 在对指针变量赋值时需要注意两点: (1)指针变量中只能存放地址(指针),不要将一个 整数赋给一个指针变量 例:* pointer1=100 * pointer1是指针 变量,100是整数,不合法* (2)赋给指针变量的变量地址不能是任意的类型,而 只能是与指针变量的基类型具有相同类型的变量 的地址
在对指针变量赋值时需要注意两点: ⑴ 指针变量中只能存放地址(指针),不要将一个 整数赋给一个指针变量。 例: * pointer_1=100; /* pointer_1是指针 变量,100是整数,不合法 */ (2) 赋给指针变量的变量地址不能是任意的类型,而 只能是与指针变量的基类型具有相同类型的变量 的地址
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第三章 最简单的C程序设计-一顺序程序设计.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第二章 数据类型、算待与表达式.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第一章 C语言概述.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第十章 文件操作.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第九章 用户建立的数据类型.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第七章 函数调用.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第六章 数组.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第五章 循环结构程序设计.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第四章 选择结构程序设计.ppt
- 厦门理工学院(厦门理工大学):《高级语言程序设计》课程电子教案(PPT教学课件)第7章 指针(教师:吴芸).ppt
- 《Visual C++编程技术》课程电子教案(讲义)第5章 菜单、工具栏和状态栏编程.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第4章 基本输入—键盘和鼠标消息.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第3章 面向对象程序设计与C++语言.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第2章 Windows编程与MFC基础.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第1章 Visual c++6.0基本应用程序的创建.pdf
- 河南工业大学:《微机原理与接口技术》第九章 中断.ppt
- 河南工业大学:《微机原理与接口技术》第八章 串行输入/输出接口.ppt
- 河南工业大学:《微机原理与接口技术》第七章 可编程接口芯片.ppt
- 河南工业大学:《微机原理与接口技术》第六章 微型计算机的输入/输出.ppt
- 河南工业大学:《微机原理与接口技术》第五章 存储器原理与接口.ppt
- 宜昌市广播电视大学:《计算机网络》PPT教学课件(共五章).ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第九章 JavaScript 中的浏览器对象.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第十章 处理表单和表单元素事件.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第一章 Dreamweaver 使用入门.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第二章 使用 Dreamweaver 制作网页.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第三章 制作动态网页.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第四章 HTML.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第五章 使用表格和表单.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第六章 层叠样式表.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第七章 JavaScript 语法基础.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第八章 JavaScript 核心语言对象.ppt
- 《大学计算机基础教程》课程教学资源:PPT教学课件 第1章 计算机基础.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第三章 8086指令系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 汇编语言及程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第二章 存储器.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第三章 8086微处理器及系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第一章 基础知识.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)绪论.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 程序设计.ppt