当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

东北电力大学:《C语言程序设计》PPT课件_第10章 指针

资源类别:文库,文档格式:PPT,文档页数:79,文件大小:633.5KB,团购合买
点击下载完整版文档(PPT)

第十章指针 本章内容: 1地址和指针的概念 2变量的指针和指向变量的指针变量 3数组的指针和指向数组的指针变量 4字符串的指针和指向字符串的指针变量 5函数的指针和指向函数的指针变量 6指针数组和指向指针的指针

1 第十章 指 针 本章内容: 1.地址和指针的概念 2.变量的指针和指向变量的指针变量 3.数组的指针和指向数组的指针变量 4.字符串的指针和指向字符串的指针变量 5.函数的指针和指向函数的指针变量 6.指针数组和指向指针的指针

概述 ■指针是C语言中广泛使用的一种数据类型。 ■运用指针编程是C语言最主要的风格之一。 ■利用指针变量可以表示各种数据结构;能很方便地使用 数组和字符串;并能象汇编语言一样处理内存地址,从而 编出精练而高效的程序。 ■指针极大地丰富了C语言的功能。学习指针是学习C语 言中最重要的一环,能否正确理解和使用指针是我们是否 掌握C语言的一个标志。 ■指针也是C语言中最为困难的一部分,在学习中除了要 正确理解基本概念,还必须要多编程,上机调试

2 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。 利用指针变量可以表示各种数据结构;能很方便地使用 数组和字符串;并能象汇编语言一样处理内存地址,从而 编出精练而高效的程序。 指针极大地丰富了C语言的功能。学习指针是学习C语 言中最重要的一环,能否正确理解和使用指针是我们是否 掌握C语言的一个标志。 指针也是C语言中最为困难的一部分,在学习中除了要 正确理解基本概念,还必须要多编程,上机调试。 概 述:

地址和指针的概念 ■计算机中所有的数据都是存放在存储器中的。一般把存储 器中的一个字节称为一个内存单元。 不同的数据类型所占用的内存单元数不等,如整型量占2个 单元,字符量占1个单元。 为了正确地访问这些内存单元,必须为每个内存单元编上号 根据一个内存单元的编号即可准确地找到该内存单元。 内存单元的编号也叫做地址。根据内存单元的编号(地址)就 可以找到所需的内存单元,所以常把这个地址称为指针。 1、地址:内存单元的编号,通常一个字节(1B)一个编号。 2、指针:内存单元的地址

3 计算机中所有的数据都是存放在存储器中的。一般把存储 器中的一个字节称为一个内存单元。 不同的数据类型所占用的内存单元数不等,如整型量占2个 单元,字符量占1个单元。 为了正确地访问这些内存单元,必须为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。 内存单元的编号也叫做地址。根据内存单元的编号(地址)就 可以找到所需的内存单元,所以常把这个地址称为指针。 1、地址:内存单元的编号,通常一个字节(1B)一个编号。 2、指针:内存单元的地址。 地址和指针的概念

3、内存单元的指针和内存单元的内容是两个不同的概念 4、内存数据的访问方式: (1)直接访问—按变量名存取变量 (2)间接访问将变量的地址存放在另一个变量(指 针变量),通过指针变量来访问 ■在C语言中允许用一个变量来存放指针,这种变量称为指 针变量。 个指针变量的值就是某个内存单元的地址或称为某内存 单元的指针

4 3、内存单元的指针和内存单元的内容是两个不同的概念 4、内存数据的访问方式: (1)直接访问——按变量名存取变量 (2)间接访问——将变量的地址存放在另一个变量(指 针变量),通过指针变量来访问。 在C语言中允许用一个变量来存放指针,这种变量称为指 针变量。 一个指针变量的值就是某个内存单元的地址或称为某内存 单元的指针

地址 2000 30 变量i 2002 50 变量j 2004 60 变量k 2000 指针变量ip

5 …….. 30 50 60 变量 i 变量 j 变量 k 2000 2004 2002 2000 指针变量 ip 地址

注意: ■严格地说,一个指针是一个地址,是一个常量。 而一个指针变量却可以被赋予不同的指针值,是变量。 但常把指针变量简称为指针。 ■为了避免混淆,我们约定:“指针”是指地址,是常量 “指针变量”是指取值为地址的变量。 ■定义指针变量的目的是为了通过指针去访问内存单元

6 严格地说,一个指针是一个地址,是一个常量。 而一个指针变量却可以被赋予不同的指针值,是变量。 但常把指针变量简称为指针。 为了避免混淆,我们约定:“指针”是指地址,是常量, “指针变量”是指取值为地址的变量。 定义指针变量的目的是为了通过指针去访问内存单元。 注意:

变量的指针和指向变量的指针变量 ■变量的指针变量的地址 例:&a为变量a在内存单的存放地址,也称变量a的指针 指针变量—存放地址的变量 ■指向变量的指针变量一个指针变量存放变量a的地址, 则称该指针变量为指向变量a的指针变量。 例:inta=10; pa int"pa; pa=&a; &a 10

7 变量的指针和指向变量的指针变量 变量的指针——变量的地址 例:&a 为变量a在内存单的存放地址,也称变量a的指针 指针变量——存放地址的变量 指向变量的指针变量—— 一个指针变量存放变量a的地址, 则称该指针变量为指向变量a的指针变量。 例: int a=10; int *pa; pa=&a; 10 a &a pa

指针变量的定义 ■指针变量的定义其一般形式为: 类型说明符变量名; ■表示这是一个指针变量,变量名即为定义的指针变量名; 类型说明符表示本指针变量所指向的变量的数据类型(基类 型)。 ■例如:int少p1; ■表示p1是一个指针变量,它的值是某个整型变量的地址。 或者说p1指向一个整型变量。 至于p1究竞指向哪一个整型变量,应由向p1赋予的地址来 决定

8 指针变量的定义其一般形式为: 类型说明符 *变量名; *表示这是一个指针变量,变量名即为定义的指针变量名; 类型说明符表示本指针变量所指向的变量的数据类型(基类 型)。 例如: int *p1; 表示p1是一个指针变量,它的值是某个整型变量的地址。 或者说p1指向一个整型变量。 至于p1究竟指向哪一个整型变量,应由向p1赋予的地址来 决定。 指针变量的定义

再如: static int *p2;/p2是指向静态整型变量的指针变量* float *p3 /p3是指向浮点变量的指针变量* char *p4 /p4是指向字符变量的指针变量* 注意 个指针变量只能指向同类型的变量,如p3只能指向浮 点变量,不能时而指向一个浮点变量,时而又指向一个字 符变量。 ■这是由于指针的移动和运算都与基类型有关

9 static int *p2; /*p2是指向静态整型变量的指针变量*/ float *p3; /*p3是指向浮点变量的指针变量*/ char *p4; /*p4是指向字符变量的指针变量*/ 再如: 注意: 一个指针变量只能指向同类型的变量,如p3 只能指向浮 点变量,不能时而指向一个浮点变量,时而又指向一个字 符变量。 这是由于指针的移动和运算都与基类型有关

指针变量的赋值 ■指针变量同普通变量一样,使用之前不仅要定义说明,而 且必须赋予具体的值。未经赋值的指针变量不能使用,否则 将造成系统混乱,甚至死机。 ■指针变量的赋值只能赋予地址,不能赋予任何其它数据, 否则将引起错误。 ■C语言中提供了地址运算符&来表示变量的地址。 其一般形式为:&变量名; 例如:&a变示变量a的地址,&b表示变量b的地址。 ■变量a本身必须预先说明

10 指针变量同普通变量一样,使用之前不仅要定义说明,而 且必须赋予具体的值。未经赋值的指针变量不能使用,否则 将造成系统混乱,甚至死机。 指针变量的赋值只能赋予地址,不能赋予任何其它数据, 否则将引起错误。 C语言中提供了地址运算符&来表示变量的地址。 其一般形式为: & 变量名; 例如:&a变示变量a的地址,&b表示变量b的地址。 变量a本身必须预先说明。 指针变量的赋值

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共79页,可试读20页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有