C语言程序设计(下)ppt课件.ppt

C语言程序设计(下)ppt课件.ppt

ID:58886125

大小:1.55 MB

页数:218页

时间:2020-09-30

C语言程序设计(下)ppt课件.ppt_第1页
C语言程序设计(下)ppt课件.ppt_第2页
C语言程序设计(下)ppt课件.ppt_第3页
C语言程序设计(下)ppt课件.ppt_第4页
C语言程序设计(下)ppt课件.ppt_第5页
资源描述:

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

1、C语言程序设计(下)第一、二次课4学时第六章指针第十一次课2学时学习目的1、通过本章的学习使学生掌握指针的意义及使用。2、应知数组的指针的意义,数组元素的指针的意义,及使用数组名作函数参数,应会通过指针引用数组元素。学习重点1.指针的使用2、指针和数组的关系学习难点1.通过指针引用变量的意义2、指针和数组的关系3指针的基本概念指针变量的定义与引用指针与数组为什么要学习指针?指针是C语言一个重要的概念也是C语言的重要特色。正确灵活的运用指针可以有效地表示负责的数据结构。能动态的分配内存,方便的使用字符串,有效的而方便的使用数组,在调用函数时能获得一个以上

2、的结果,能直接处理内存单元地址等。而这些是设计系统软件非常必要的,掌握指针可以有效的使程序简洁、紧凑、高效。6.1指针的基本概念6.1.1指针的概念1.内存及其地址“程序存储”就是在程序运行之前将程序和数据存入计算机内存。所以在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,为了正确地访问这些内存单元,必须为每个内存单元编号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。6.1指针的基本概念6.1.1指针的概念main(){floatx;inty;…}变量的两个物理意义2000200120

3、02200320042005…xy变量的内容变量的地址6.1指针的基本概念6.1.1指针的概念2.变量地址的获取变量的存储单元是在编译时(对静态存储变量)或程序运行时(对动态存储变量)分配的,因此变量的地址不能人为确定,而要通过取地址运算符&获取。例如在如下的程序段中:inta;floatb;charc;scanf("%d%f%c",&a,&b,&c);由&a、&b和&c分别得到变量a、b和c的内存地址。值得注意的是,由于常量和表达式没有用户可操作的内存地址,因此&不能作用到常量或表达式上。6.1指针的基本概念6.1.1指针的概念3.指针与指针变量根据

4、内存单元的编号或地址就可以找到所需的内存单元,通常把这个地址称为指针。在C语言中,专门存放变量(或其它程序实体)地址的变量是指针变量。指针变量也需要存储单元(存放地址值的整数),它本身也有地址。例如让变量p存放整型变量a的地址(如图所示),这样,由变量p的值(地址,图中为1012)就可以找到变量a,因此称变量p指向变量a,变量p就是指针变量,它存放的地址就称为“指针”。因此,指针就是地址。6.1指针的基本概念6.1.1指针的概念4.直接访问方式与间接访问方式有了指针变量以后,对一般变量的访问即可以通过变量名进行,也可以通过指针变量进行。通过变量名或其地

5、址(如a或&a)访问变量的方式叫直接访问方式;通过指针变量(如p)访问它指向的变量(如a)的方式叫间接访问方式。6.2指针变量的定义与引用6.2.1指针变量的定义与初始化指针变量的一般定义形式为:类型名*标识符;其中“标识符”是指针变量名,标识符前加“*”号表示该变量是指针变量,用于存放地址,“类型名”表示该指针变量所指向变量的类型。6.2指针变量的定义与引用6.2.2指针变量的赋值1.通过地址运算“&”赋值地址运算符“&”是单目运算符,运算对象放在地址运算符“&”的右边,用于求出运算对象的地址。通过地址运算“&”可把一个变量的地址赋给指针变量。2.指

6、针变量的初始化与动态变量的初值一样,在定义了一个(动态的)指针变量之后,其初值也是一个不确定的值。可以在定义变量时给指针变量赋初值,如floatf,*p=&f;则把变量f的地址赋值给指针变量p,此语句相当于floatf,*p;p=&f;这两条语句。6.2指针变量的定义与引用6.2.2指针变量的赋值3.通过其它指针变量赋值可以通过赋值运算符,把一个指针变量的地址值赋给另一个指针变量,这样两个指针变量均指向同一地址。4.用NULL给指针变量赋空值除了给指针变量赋地址值外,还可以给指针变量赋空值,如p=NULL;6.2指针变量的定义与引用6.2.3指针的运算

7、及引用1.指针变量的赋值运算在函数的执行部分给指针变量赋地址值有以下几种情况。(1)赋给同类型普通变量求地址运算得到的地址值。如:intk=10,*p,*q;q=&k;这时scanf("%d",&k);与scanf("%d",q);作用相同。(2)通过已有地址值的指针变量赋值。(3)通过标准函数获得地址值。(4)给指针变量赋“空”值,如:p=NULL;这样做的目的是:让指针变量存有确定的地址值又不指向任何变量(类似于给数值型变量赋初值0)。6.2指针变量的定义与引用6.2.3指针的运算及引用2.指向运算和指针变量的引用(1)指向运算符**运算符作用在指

8、针(地址)上,代表该指针所指向的存储单元(及其值),实现间接访问,因此又叫“间接访问运算符”。

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

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

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