C语言程序设计 胡宏智(含例题) 第06章

C语言程序设计 胡宏智(含例题) 第06章

ID:40238556

大小:972.00 KB

页数:142页

时间:2019-07-28

C语言程序设计 胡宏智(含例题) 第06章_第1页
C语言程序设计 胡宏智(含例题) 第06章_第2页
C语言程序设计 胡宏智(含例题) 第06章_第3页
C语言程序设计 胡宏智(含例题) 第06章_第4页
C语言程序设计 胡宏智(含例题) 第06章_第5页
资源描述:

《C语言程序设计 胡宏智(含例题) 第06章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章指针语言程序设计第六章指针C6.1指针的概念6.2指针的运算6.3指针与数组之间的关系6.4指针作为函数的参数及其应用程序范例6.5指针作为函数的返回值及其应用程序范例6.6指向函数的指针及其应用程序范例6.7带参数的main函数及其应用程序范例6.8指向指针的指针及其应用程序范例6.10图形处理函数的简单应用6.11本章小结内容简介6.1指针的概念6.1.1什么是指针语言程序设计第六章指针C在程序运行过程中,所有的程序和数据都是以二进制方式存放在存储器中的。通常8个二进制位称一个字节,我们一般把存储器中的一个字节称为一个内存单元。变量是程

2、序中数据所占若干个存储单元的符号表示。程序在编译时,系统会根据变量的数据类型为其分配相应的若干个内存单元,用于存放变量的具体数据。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。对于一个内存单元来说,单元的地址即为指针。通常用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个内存单元的地址,也可称为某内存单元的指针。6.1指针的概念语言程序设计第六章指针C在C语言中,设有字符变量ch,其内容为“A”(ASCII码为十进制数65),假设字符变量ch

3、在存储器中的存储单元是10010001(地址用二进数表示)。有指针变量pointer,内容为10010001,就是字符变量ch的存储器地址,这种情况我们称为pointer指向变量ch,或说pointer是指向变量ch的指针。1001000165pointerch为了表示指针变量和它所指向的变量之间的关系,在程序中用“*”符号表示“指向”,*pointer就是表示指针指向的存储单元,因此,我们可以用指针变量pointer和字符变量ch分别访问这个存储单元。6.1.1什么是指针6.1指针的概念6.1.2为什么要引入指针概念语言程序设计第六章指针C通过

4、变量地址可以找到该变量所占的存储单元,因此可以说变量地址“指向”变量的存储单元。直接按照变量名称访问变量的方式称为“直接访问”。把变量地址存放在一个特殊变量中,然后通过访问特殊变量的值(地址),再由此地址找到最终要访问的变量的方法,称为“间接访问”。如上图所示的那样,通过名称ch存取内存中的数据,是直接访问,用指针pointer来存取内存中的数据,是间接访问。6.1指针的概念语言程序设计第六章指针CC语言的特色之一,也是其精华所在就是指针。使用指针可以实现以下用其它方法不易实现的操作:如对内存中的数据进行处理,而不管这些数据的类型;在函数之间快速

5、地传递数据;直接处理内存地址。这种方法增强了C语言的处理能力、提高了程序的执行效率,尤其适合系统软件的开发,也极大地增强了程序的灵活性。另外一方面,在C语言中,一种数据类型或数据结构往往都占有一组连续的内存单元。用“地址”这个概念并不能很好地描述一种数据类型或数据结构,而“指针”虽然实际上也是一个地址,它是可以“指向”一个数据结构的,因而概念更为清楚,表示更为明确。但是指针不仅不易理解,而且使用不当会带来严重的错误。所以学好指针,关键是理解其概念与操作原理。6.1.2为什么要引入指针概念6.1指针的概念6.1.3指针变量的定义语言程序设计第六章指

6、针C定义指针变量的一般形式为:[存储类型]类型标识符*变量名;其中对指针变量的类型说明包括三个内容:(1)“*”后面的变量为一个指针变量;(2)变量名即为定义的指针变量名;(3)类型标识符表示该指针变量所指向的变量的数据类型。例如:int*p1;/*p1是指向整型变量的指针变量*/staicint*p2;/*p2是指向静态整型变量的指针变量*/float*p3;/*p3是指向浮点变量的指针变量*/6.1指针的概念语言程序设计第六章指针C下面对指针变量作几点说明:(1)指针变量名前的“*”表示该变量为指针变量,而指针变量名不包含该“*”。(2)一个

7、指针变量只能指向同一类型的变量。例如:int*p1;表示p1是一个指针变量,它的值是某个整型变量的地址。或者说p1指向一个整型变量。不能时而指向一个整型变量,时而又指向一个字符变量。至于p1究竟指向哪一个整型变量,应由向p1赋值的地址来决定。(3)指针变量中只能存放地址,而不能将数值型数据赋给指针变量。(4)只有当指针变量中具有确定地址后才能被引用。(5)与一般的变量一样,也可以对指针变量进行初始化。后面进一步说明。6.1.3指针变量的定义6.1指针的概念语言程序设计第六章指针C指针与指针变量关系:指针:一个变量的地址,是常量。指针变量:专门存放

8、变量地址的变量。存储器的地址是常量,“指针变量”是指取值为地址的变量。定义指针变量的目的是为了通过指针(地址)去访问内存单元。6.1.3

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

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

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