C语言程序设计 刘克成 等 chap7

C语言程序设计 刘克成 等 chap7

ID:40238504

大小:900.50 KB

页数:59页

时间:2019-07-28

C语言程序设计 刘克成 等 chap7_第1页
C语言程序设计 刘克成 等 chap7_第2页
C语言程序设计 刘克成 等 chap7_第3页
C语言程序设计 刘克成 等 chap7_第4页
C语言程序设计 刘克成 等 chap7_第5页
资源描述:

《C语言程序设计 刘克成 等 chap7》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章指针教学目的掌握指针、指针变量的概念理解指针基本运算掌握指针和变量之间的关系掌握数组和指针的关系掌握函数和指针的关系1教学内容:指针的概念指针与变量指针与数组指针与字符串指针与函数指向指针的指针命令行参数指针综合应用举例2计算机的内存储器被划分为一个个的内存单元,存储单元按一定的规则编号,这个编号就是存储单元的地址。在高级语言程序设计中,内存地址我们称之为指针。在C语言中有专门用来存放内存单元地址的数据类型,称为指针类型。指针是C语言中一个重要的概念,也是C语言的精华部分,它提供了一种较为直观的地址操作手段。正

2、确使用指针,可以有效的描述复杂的数据结构,书写出简洁,高效的程序。7.1指针的概念37.1.1地址与指针程序中:inti;floatk;内存中每个字节有一个编号-----地址…...…...2000200120022005内存02003ik为其分配内存单元变量是对程序中数据及存储空间的抽象4变量相关概念变量地址:变量所分配存储空间的首字节单元地址(字节单元编号)变量名:通过它与相应的存储单元联系,代表具体分配哪些单元给变量,由C编译系统完成变量名到对应内存单元地址的变换,使用时其代表相应内存空间中的数据变量类型:决定

3、变量分配到的存储空间的大小变量的值:指相应存储空间的内容在程序中是如何实现在内存中进行数据的存取的呢?一是通过变量名,二是通过地址。57.1.2指针变量在高级语言程序设计中,内存地址称之为指针,在C语言中有专门用来存放内存单元地址的数据类型,称为指针类型;具有指针类型的变量称为指针变量,指针变量是用于存放内存单元地址的;在不会引起混淆的情况下,也将指针变量简称为指针。指针变量定义:[存储类型]数据类型*指针名;例:int*p;其中,“*”表示后面声明的变量是指针类型的变量。指针变量一旦被赋值,我们就说该指针变量有了指

4、向。“数据类型”可以是任意类型,指的是指针所指向的对象类型,这说明了指针所指向的内存单元可以用于存放什么类型的数据,我们称之为指针的类型。区分:int*p1,*p2;与int*p1,p2;6说明:在指针变量定义中,*是一个说明符,它表明其后的变量是指针变量,如在int*p;语句中,p是指针变量,而不要认为“*p”是指针变量;指针变量定义时指定的数据类型不是指针变量本身的数据类型,而是指针变量所指向的对象(或称目标)的数据类型,指针变量只能指向定义时所规定类型的变量;定义后值不确定,而指针变量一旦被赋值,就有了有效的指

5、向对象;指针变量并不固定指向一个变量,可指向同类型的不同变量;指针变量和普通变量的共同点是:它们都能存放数据,而又有自己的地址。不同的是:普通变量中直接存放通常意义下的数据,而指针变量中存放的是地址。7…...…...2000200420062005整型变量i10变量i_pointer2001200220032000指针指针变量变量的内容变量的地址指针变量变量变量地址(指针)变量值指向地址存入指针变量指针变量和指针所指向的变量的区别:对于:inti=10,*i_pointer=&i;变量的地址变量的内容指针变量是用于

6、存放内存单元地址的变量,指针所指向的变量是指针变量中所保存的内存地址对应的变量。87.1.3指针运算1.与指针相关的运算符--”*”和”&”含义:取变量的地址单目运算符结合性:自右向左格式:&变量名含义:取指针所指向的变量单目运算符结合性:自右向左格式:*指针变量两者关系:互为逆运算理解:如有inti=10,*i_pointer=&i;…...…...2000200420062005整型变量i10变量i_pointer2001200220032000指针变量i_pointer&i&(*i_pointer)i*i_po

7、inter*(&i)i_pointer==&i==&(*i_pointer)i==*i_pointer==*(&i)i_pointer-----指针变量,它的内容是地址量*i_pointer----指针的目标变量,它的内容是数据&i_pointer---指针变量占用内存的地址91.若有定义inta,*p;执行了“p=&a”,则:“&*p”的含意是什么?答:相当于&a2.*&a的含意是什么?答:a答:a++3.(*p)++相当于什么?102.指针的赋值运算指针变量也必须先赋值后使用,指针变量只能被赋相应类型的地址,而不

8、能赋其他数据,可分为:初始化赋值:数据类型*指针变量名=初始地址使用赋值语句赋值:指针变量名=地址给指针变量赋空值:指针变量名=NULL或0或‘’说明:初始化时是赋值给指针变量,而不是赋给目标变量。当指针变量间相互赋值时必须是相同类型的指针变量。赋空值时表明不指向任何变量,“空”指针用NULL表示,它在”stdio.h”中定义,其值为0。当

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

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

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