《C语言程序设计》课程教学资源(PPT课件讲稿)第十章 指 针

第十章
第 十 章 指 针

目录 10.1指针的概念 10.7指针教组与指向 102指针变量的定 指针的指针 义和引用 108动态内存分配 103指针与数组 10.9本章程序举例 104指针与字符串 105指向函数的指针本章要点小结 10.6返回指针的函数
目 录 10.1 指针的概念 10.2 指针变量的定 义和引用 10.3 指针与数组 10.4 指针与字符串 10.7 指针数组与指向 指针的指针 10.6 返回指针的函数 10.5 指向函数的指针 10.8 动态内存分配 10.9 本章程序举例 本章要点小结 本 章 结 束

10.1指针的概念 指针是C语言的一个重要概念 也是C语言的一个重要特色。深刻理 解和正确使用指针是学习本章的基 本要求。 本章是一个难点,也是一个重 点,初学者不易掌握。在理解和熟 悉基本内容的前提下,上机实验是 必不可少的环节
10.1 指针的概念 指针是C语言的一个重要概念, 也是C语言的一个重要特色。深刻理 解和正确使用指针是学习本章的基 本要求。 本章是一个难点,也是一个重 点,初学者不易掌握。在理解和熟 悉基本内容的前提下,上机实验是 必不可少的环节

10.1指针的概念 地址 在计算机中,把内存区划分为一个一个的存储单 元,每个单元为一个字节(8位),它们都有一个编 号,这个编号就是内存地址。如下图所示 址:3注意:1、程序中定义的每个数据 在编译后都占有各自的内存区。 2003 2004 2、数据所占有的存储单元个数是 由其类型决定的。 3、首地址:第1个单元的地址 高地址 4、表示地址的数与整数的区别
10.1 指针的概念 一、地址 在计算机中,把内存区划分为一个一个的存储单 元,每个单元为一个字节(8位),它们都有一个编 号,这个编号就是内存地址。如下图所示: 注意:1、程序中定义的每个数据 在编译后都占有各自的内存区。 2、数据所占有的存储单元个数是 由其类型决定的。 3、首地址:第1个单元的地址 4、表示地址的数与整数的区别

10.1指针的概念 二、举例 如有定义: char c=A';inta=3; 则所占内存情况如下: c占一个 字节 注意:c和a的 存放的 01000001 是’A的 地址可能相邻, ASCIIHI 也可能不相邻, a占两个 字节 00000003 低字节是由系统分配 低字节 存放低8 000高字节的,我们不用 位;高 字节存 关 放高8位
10.1 指针的概念 二、举例 如有定义:char c=‘A’; int a=3; 则所占内存情况如下: 注意:c和a的 地址可能相邻, 也可能不相邻, 是由系统分配 的,我们不用 关心

10.1指针的概念 三、直接访问和间接访问 有两个上锁且放着物品的盒子A、B, 如果你有A盒子的钥匙,则可以直接打开A盒子 将物品取出; 如果你有B盒子的钥匙,而A盒子的钥匙在B盒 子中,要想取出A盒子中的物品,则必须先打开B盒 子,取出A盒子的钥匙,再打开A盒子将物品取出。 上面两种情况就是直接访问和间接访问的概念
10.1 指针的概念 三、直接访问和间接访问 有两个上锁且放着物品的盒子A、B, 如果你有A盒子的钥匙,则可以直接打开A盒子 将物品取出; 如果你有B盒子的钥匙,而A盒子的钥匙在B盒 子中,要想取出A盒子中的物品,则必须先打开B盒 子,取出A盒子的钥匙,再打开A盒子将物品取出。 上面两种情况就是直接访问和间接访问的概念

10.1指针的概念 1、直接访问 通过变量本身对变量进行存取的方式,称为 直接访问。 如定义:intx;则x=10;x+=5;等等 这种访问方式只需要变量本身就得到了该变 量的全部信息,不需要其它内容,是直接的
10.1 指针的概念 1、直接访问 通过变量本身对变量进行存取的方式,称为 直接访问。 如定义:int x; 则x=10; x+=5; 等等 这种访问方式只需要变量本身就得到了该变 量的全部信息,不需要其它内容,是直接的

10.1指针的概念 2、间接访问 通过指针变量实现对变量的访问方式,称为间接 访问。 首先要定义一个指针变量,然后将一个同类型变 量的地址赋给该指针变量(这时我们称指针变量指向 该变量),这样就可以进行间接访问了。 间接访问的过程是:由指针变量得到变量的地址, 根据该地址找到变量的存储区,再对该存储区的内容 进行存取,从而实现了对变量的间接访问
10.1 指针的概念 2、间接访问 通过指针变量实现对变量的访问方式,称为间接 访问。 首先要定义一个指针变量,然后将一个同类型变 量的地址赋给该指针变量(这时我们称指针变量指向 该变量),这样就可以进行间接访问了。 间接访问的过程是:由指针变量得到变量的地址, 根据该地址找到变量的存储区,再对该存储区的内容 进行存取,从而实现了对变量的间接访问

10.1指针的概念 四、指针与指针变量 1、指针:简单地说,指针就是地址。二者是同 个概念的两种说法。只不过指针更形象一些, 就像一个针一样,可以指向某个地方 2、指针变量:首先指针变量就是一个变量,和 我们以前所讲的其它变量没有本质区别。不同之 处在于这种变量中所存放的内容是地址
10.1 指针的概念 四、指针与指针变量 1、指针:简单地说,指针就是地址。二者是同 一个概念的两种说法。只不过指针更形象一些, 就像一个针一样,可以指向某个地方。 2、指针变量:首先指针变量就是一个变量,和 我们以前所讲的其它变量没有本质区别。不同之 处在于这种变量中所存放的内容是地址

10.2指针变量的定义和引用 指针变量的定义和赋值 格式:类型名指针变量名 2、举例 int *pI char *sl*s2 float *al, *a2, f; 3、说明 a.类型名:指针变量所指向的变量类型 b.*是定义指针变量的标志,不可丢掉。 c.指针变量定义后,其值是不确定的
10.2 指针变量的定义和引用 一、指针变量的定义和赋值 1、格式:类型名 *指针变量名; 2、举例 int *p1; char *s1, *s2; float *a1, *a2, f; 3、说明 a. 类型名:指针变量所指向的变量类型。 b. * 是定义指针变量的标志,不可丢掉。 c. 指针变量定义后,其值是不确定的
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第九章 编译预处理.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第八章 函数.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第七章 数组.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第六章 循环控制.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第五章 选择结构程序设计.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第四章 最简单的C程序设计——顺序程序设计.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 数据类型、运算符与表达式.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第二章 程序的灵魂——算法.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第一章 C语言概述.ppt
- 《C语言程序设计》课程电子教案:第八章 数组作为函数参数.doc
- 《C语言程序设计》课程电子教案:第八章 函数的嵌套调用和递归调用.doc
- 《C语言程序设计》课程电子教案:第八章 函数的定义、调用.doc
- 《C语言程序设计》课程电子教案:第七章 数组.doc
- 《C语言程序设计》课程电子教案:第七章 字符数组.doc
- 《C语言程序设计》课程电子教案:第七章 数组.doc
- 《C语言程序设计》课程电子教案:第六章 循环控制.doc
- 《C语言程序设计》课程电子教案:第六章 循环控制.doc
- 《C语言程序设计》课程电子教案:第五章 选择结构程序设计.doc
- 《C语言程序设计》课程电子教案:第五章 选择结构程序设计.doc
- 《C语言程序设计》课程电子教案:第四章 顺序程序设计.doc
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第十一章 结构体、公用体、枚举类型及其它.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第十二章 位运算.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第十三章 文件.ppt
- 《C语言程序设计》课程教学资源:习题2(第7-第10章).doc
- 《C语言程序设计》课程教学资源:习题1(第1-第6章).doc
- 《网页设计教程》PPT课件:第1章 网页制作初识.ppt
- 《网页设计教程》PPT课件:第10章 JavaScript和DHTML技术.ppt
- 《网页设计教程》PPT课件:第11章 示例网页利用ASP实现交互功能.ppt
- 《网页设计教程》PPT课件:第12章 利用ADO实现网页与数据库的链接.ppt
- 《网页设计教程》PPT课件:第2章 创建站点.ppt
- 《网页设计教程》PPT课件:第3章 网页文本的处理.ppt
- 《网页设计教程》PPT课件:第4章 网页表格的处理.ppt
- 《网页设计教程》PPT课件:第5章 网页框架的处理.ppt
- 《网页设计教程》PPT课件:第6章 网页图像处理.ppt
- 《网页设计教程》PPT课件:第7章 在网页中使用超链接.ppt
- 《网页设计教程》PPT课件:第8章 网页表单的处理.ppt
- 《网页设计教程》PPT课件:第9章 美化网页.ppt
- 中科院昆明动物研究所培训:曙光5000A超级计算机.ppt
- 曙光:机群应用开发(并行编程原理及程序设计)Parallel Programming - Fundamentals and Implementation(MPI并行程序设计 Parallel Programming with the Massage Passing Interface(MPI)).ppt
- 高性能计算机和曙光GHPC1000集群系统.ppt