7.1什么是指针(课件)-《 C语言程序设计》同步教学(电子工业出版社)
2024-08-11
|
19页
|
102人阅读
|
20人下载
普通
内容正文:
第七章 程序的性能优化--指针
1
CONTENTS
目录
01
02
为什么使用指针
什么是指针
03
指针变量的应用
04
指针变量的运算
05
使用指针访问一维数组中的元素
CONTENTS
目录
06
07
字符型指针引用字符串
使用指针访问二维数组中的元素
08
指针数组与指针的指针
09
使用指针作为函数的参数
10
使用指针作为函数的返回值
11
使用指针调用函数
C语言
知识树
My First Template
什么是指针
C语言程序设计
5
C
数
据
类
型
基本类型
构造类型
指针
空类型void
字符类型char
整 型
实型
单精度型float
双精度型double
数组
结构体struct
共用体union
短整型short
长整型long
整型int
数据类型决定:
1. 数据占内存字节数
2. 数据取值范围
3. 其上可进行的操作
C语言
数据类型
什么是指针?
6
C语言
什么是指针?
什么是指针?
指针是C语言中广泛使用的一种数据类型。
也是C语言最显著的特点之一,使用起来很灵活。
在C语言编程中如果能用好指针,不但可以实现存储空间的动态分配,还能提高程序的编译效率和执行速度。
编写高质量的C语言程序离不开指针的运用。
My First Template
C语言
生活中的指针
如何才能找到每个学生?
1、按照学号排房间(酒店无法提供连续房间)
2、学生们希望自主选择房间号入住
什么是指针?
My First Template
C语言
生活中的指针
什么是指针?
My First Template
C语言
C语言中的指针
什么是指针?
i
3
1002
1003
1001
1004
1001
p
My First Template
内存
C语言
100
int x
2F3D
地址
变量
数据
2F3D
int *p
指针
指针 p指向变量 x
指针
指针是一种数据类型,可定义变量,该变量中存储的是另一个对象的内存地址
如果一个变量存储另一个对象的地址,则称该变量指向这个对象。
指针值是数据,指针变量可以赋值
一个指针的指向在程序执行中可以改变
指针p在执行中某时刻指向变量x,在另一时刻也可以指向变量y。
什么是指针?
My First Template
C语言
直接访问:按变量地址存取变量值。
间接访问:通过存放变量地址的变量去访问变量。
例 i=3; -----直接访问
指针变量
…...
…...
2000
2004
2006
2005
整型变量i
10
变量p
2001
2002
2003
2000
3
例 *p=20; -----间接访问
20
直接与间接访问
什么是指针?
My First Template
为什么使用指针?
C语言程序设计
13
C语言
生活中的指针
如何才能找到每个学生?
1、按照学号排房间(酒店无法提供连续房间)
2、学生们希望自主选择房间号入住
为什么使用指针?
My First Template
C语言
生活中的指针
为什么使用指针?
My First Template
C语言
为什么使用指针?
为什么使用指针?
My First Template
指针
支持动态内存
可以址传递
提高程序效率
C语言
为什么使用指针?
为什么使用指针?
指针为C语言的动态内存分配系统提供了支持
还是前面宾馆入住的例子,如果有一整班人入住宾馆,就好比一批数据要存储在内存中。在没有指针的情况下,可能需要使用数组这种方式来申请存储空间,这就意味着需要连续的空间,但内存中的空间不停的被分配和被回收,并不一定有正好大小的连续空间。而如果有了指针,就可以利用不连续的散碎空间。另外,指针还可以为实现动态数据结构(例如链表、队列、二叉树等)提供支持。
My First Template
指针
支持动态内存
可以址传递
提高程序效率
C语言
为什么使用指针?
为什么使用指针?
指针为函数提供修改变量值的方法
在上一章函数的应用中,我们得知值传递中函数的形参是不能修改实参的值的,但如果要想让数据在形参和实参之间双向传递,就应该采用地址传递(址传递)。其实使用指针直接引用实参的地址本身就是地址传递的一种。
My First Template
指针
可以址传递
提高程序效率
支持动态内存
C语言
为什么使用指针?
为什么使用指针?
可以改善某些程序的效率。
假如程序需要频繁的进行大量数据传递,利用指针变量只传递地址而不是实际的数据的特性,既可以节约内存,也能大大提高传递速度。
My First Template
指针
提高程序效率
支持动态内存
可以址传递
$$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。