c语言程序设计-第十章指针.ppt
《c语言程序设计-第十章指针.ppt》由会员分享,可在线阅读,更多相关《c语言程序设计-第十章指针.ppt(33页珍藏版)》请在三一办公上搜索。
1、重庆邮电大学计算机科学与技术学院冯 潇,指针及其应用,2023/11/7,主要内容,指针的概念;难点:对指针数据类型的理解 用指针做函数参数;指针与一维数组数组名作为函数参数一维数组与一维数组元素指针的区别插入和删除数组元素,2023/11/7,重点、难点,对于指针概念的理解 对于地址、直接寻址、间接寻址的理解 对于指针作为函数参数的理解 对于指针和数组关系的理解 利用指针解决字符串问题,2023/11/7,变量再探,什么是变量?程序运行过程中其值会发生改变的量 变量有3个特点;变量要占用一定的存储空间变量有名字程序运行过程中变量的值可能发生改变 变量的实质在高级语言中,变量是对存储单元和内存
2、地址的映射通过使用变量名定位存储单元的寻址方式叫直接寻址,2023/11/7,计算机内的存储部件,所有指令和数据都保存在内存里速度快,但是掉电即失可以随机访问内存中的每个字节都有唯一的一个地址地址按字节编号,按类型分配空间只要指明要访问的内存单元的地址,就可以立即访问到该单元地址是一个无符号整数,其字长一般与主机相同,内存(Random Access Memory)地址(Address),2023/11/7,寻址方式,直接(寻址)访问通过变量地址直接存取变量内容间接(寻址)访问通过指针变量来间接存取它所指向的变量,2023/11/7,什么是指针,专门存放地址数据的变量即为指针变量指针也是一种数
3、据类型,也有与之相应的运算法则指针是不是地址?地址是一个无符号整数,其字长一般与主机相同指针是一个变量,完全符合变量的3个特点定义指针类型*指针变量名;“*”为指针类型说明符,2023/11/7,&完成指针的初始化 指针变量名=&变量名;*完成指针的间接访问*指针变量名 等价于 指针指向的变量*指针变量名代表指针所指变量,使用方法和普通变量一样指针在定义之后必须进行初始化,否则会出现指针悬空,&与*操作符,2023/11/7,示例&和*,void main()int a=10,*p;p=,2020,20,2023/11/7,int i,*p;p=,int*p;float*q;p=q;,int
4、i;float*p;p=,int*p;p=100;,判断是真?是假?,指针变量只存放地址!,一个指针变量不能指向与其类型不同的变量!,我是真的,你猜对了吗?,应在类型相同的指针变量之间赋值,2023/11/7,指针运算,算术运算int*p,a10;p=a;p+;/*p的值增加多少?*/指针的加减运算是以其指向的类型的字节长度为单位的,6000600160026003600460056006,2023/11/7,指针运算,int*p,*q,a10;p=a;q=指针运算不能乱算一般只进行指针和整数的加减运算,同类型指针之间的减法运算其它运算,比如乘法、除法、浮点运算、指针之间的加法等,并无意义,所
5、以也不支持,2023/11/7,指针变量与其它类型变量的对比,共性在内存中占据一定大小的存储单元先定义,后使用特殊性 它的内容只能是地址,而不能是数据,TC下2B,VC下4B必须初始化后才能使用,否则指向不确定的存储单元,对该空间进行访问,将可能造成危险可参与的运算:加、减一个整数,自增、自减、关系、赋值只能指向同一基类型的变量,2023/11/7,为什么要引入指针?,铁杆C/C+程序员最挚爱的武器:指针C/C+的高效、高能主要来自于指针很多不可能的任务由指针完成指针的作用:为函数提供修改变量值的手段 为C的动态内存分配系统提供支持 为动态数据结构(如例链表、队列、二叉树等)提供支持 可以改善
6、某些子程序的效率,2023/11/7,交换两个数的值,void swap(int x,int y)int temp;temp=x;x=y;y=temp;,void main()int a,b;a=5;b=10;swap(a,b);printf(a=%d,b=%d,a,b);,2023/11/7,回顾,5,10,void swap(int x,int y)int temp;temp=x;x=y;y=temp;,void main()int a,b;a=5;b=10;swap(a,b);printf(a=%d,b=%d,a,b);,2023/11/7,用指针作为函数参数,2023/11/7,改进:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 第十 指针
链接地址:https://www.31ppt.com/p-6504011.html