C语言程序设计教学课件 马学文 第8章 指针.ppt

C语言程序设计教学课件 马学文 第8章 指针.ppt

ID:50084492

大小:1.52 MB

页数:85页

时间:2020-03-08

C语言程序设计教学课件 马学文 第8章 指针.ppt_第1页
C语言程序设计教学课件 马学文 第8章 指针.ppt_第2页
C语言程序设计教学课件 马学文 第8章 指针.ppt_第3页
C语言程序设计教学课件 马学文 第8章 指针.ppt_第4页
C语言程序设计教学课件 马学文 第8章 指针.ppt_第5页
资源描述:

《C语言程序设计教学课件 马学文 第8章 指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章指针第8章指针【教学要求】1.深刻理解并掌握指针的概念。2.掌握指针变量的定义和应用,指针变量作为函数参数的用法。3.掌握指向数组的指针与指向数组的指针变量的概念、定义和应用。4.掌握指向字符串的指针的定义和应用。5.理解指向函数的指针的定义和用法。6.了解返回指针值的函数的定义和应用,了解它与指向函数的指针变量的区别。7.了解指针数组的定义和应用,掌握指针的指针的定义和应用,了解它指针数组与指向数组的指针变量的区别。大学计算机基础网络信息中心教研室一、地址和指针的概念二、变量的指针和指向变量的指针变量三、数组的指针和指向数组的指针变量四、字符串的指针和指向字符串的指针

2、变量五、函数的指针和指向函数的指针变量六、返回指针值的函数七、指针数组与指向指针的指针八、有关指针的数据类型和指针运算小结第8章指针【教学要点】大学计算机基础网络信息中心教研室程序中:inti;floatk;内存中每个字节有一个编号-----地址…...…...2000200120022005内存02003ik为其分配内存单元变量是对程序中数据存储空间的抽象地址和指针的概念大学计算机基础网络信息中心教研室1.按变量地址存取变量值的方式称为“直接访问”方式。printf("%d",i);scanf("%d",&i);k=i+j;2.另一种存取变量值的方式称为“间接访问”的方式。

3、即,将变量i的地址存放在另一个变量中。大学计算机基础网络信息中心教研室在C语言中,指针是一种特殊的变量,它是存放地址的。大学计算机基础网络信息中心教研室指针也是一种数据类型,可以参与部分运算。具有指针类型的变量称为指针变量,是专门用于存放内存单元地址的。例如:int*p指针变量和普通变量的共同点是:它们都是用于存放数据的,且都有自己的地址。不同的是:普通变量中存放的是通常意义下的数据,而指针变量中存放的是特殊的数据,即内存单元的地址。区别:指针和指针变量指针变量和指针所指向的变量大学计算机基础网络信息中心教研室…...…...2000200420062005整型变量i10变量

4、i_pointer2001200220032000指针指针变量变量的内容变量的地址指针变量变量变量地址(指针)变量值指向地址存入指针变量变量的地址变量的内容大学计算机基础网络信息中心教研室变量地址:变量所分配存储空间的首字节单元地址(字节单元编号)。变量名:通过它与相应的存储单元联系,代表具体分配哪些存储单元给变量,由C编译系统完成变量名到对应内存单元地址的变换,使用时其代表相应内存空间中的数据。变量类型:决定变量分配到的存储空间的大小。变量的值:指相应存储空间的内容。回顾与变量相关概念大学计算机基础网络信息中心教研室指针变量声明格式:[存储类型]数据类型*指针名;下面的定义

5、都是合法的:inta;floatb;int*pointer_1;float*pointer_2;pointer_1=&a;pointer_2=&b;指针变量的定义C语言规定所有变量在使用之前必须先定义,指定其类型,并据此分配内存单元。指针变量则是专门用来存放地址的,须将它声明为“指针类型”。大学计算机基础网络信息中心教研室(1)“*”是定义指针变量的标志,但不是指针变量名的一部分。(2)一个指针变量只能指向相同类型的变量,该变量可能占用多个字节的存储单元(连续的),指针变量只存储第一个单元的地址。(3)数组名是指针,指向数组在内存的首地址,但不是指针变量,其值不能改变。(4)

6、允许指针指向任何类型的对象,如数组、函数、结构体和共用体等。(5)指针变量的类型用于说明该指针指向什么类型的变量,由于指针变量存的是变量的首地址,不同类型的指针变量占用的存储空间相同。区分:int*p1,*p2;与int*p1,p2;说明:大学计算机基础网络信息中心教研室指针变量的基本运算1.与指针相关的运算符--”*”和”&”含义:取变量的地址单目运算符结合性:自右向左格式:&变量名含义:取指针所指向变量的内容单目运算符结合性:自右向左格式:*指针变量两者关系:互为逆运算理解:如有inti=10,*i_pointer=&i;…...…...2000200420062005整

7、型变量i10变量i_pointer2001200220032000指针变量i_pointer&i&(*i_pointer)i*i_pointer*(&i)i_pointer-----指针变量,它的内容是地址*i_pointer----指针的目标变量,它的内容是数据&i_pointer---指针变量占用内存的地址========大学计算机基础网络信息中心教研室1.若有定义inta,*p;执行了“p=&a”,则:“&*p”的含意是什么?(答:相当于&a)2.*&a的含意是什么?(答:a)(答:a++)3.(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。