《C语言第八章》PPT课件

《C语言第八章》PPT课件

ID:36611939

大小:282.60 KB

页数:39页

时间:2019-05-09

《C语言第八章》PPT课件_第1页
《C语言第八章》PPT课件_第2页
《C语言第八章》PPT课件_第3页
《C语言第八章》PPT课件_第4页
《C语言第八章》PPT课件_第5页
资源描述:

《《C语言第八章》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章善于使用指针主要内容什么是指针指针变量定义、引用、和普通变量的关系指针作为函数参数通过指针引用数组通过指针引用字符串字符串指针作为函数参数提高部分18.1什么是指针有关指针的一些概念指针:C语言中,将地址形象化的称为指针通过指针找到数据,就是通过地址找到数据指针变量:存放指针的变量,称之为指针变量指针变量里面存放的是指针,也就是地址为什么使用指针更方便、更主动的操作数据、构建数据结构28.1什么是指针学习指针的几点建议弄明白存放在内存中的数据是如何访问的这是学习指针的基础清晰的记住指针和变量的几个关系:指针的内

2、容,指针指向的内容等等明白指针作为函数参数、返回值的作用将地址传递到函数,使得几个函数变量共同操作一个数据地址,实现数据交换38.1什么是指针指针与地址存储器中的一个字节为一个单元,为了能够正确访问这些单元,必须为其编号。称之为地址所有数据都是存放在存储器中的。占据一个或多个单元。这些单元即数据在内存中的存放地址。一般来讲,一个数据是存放在多个连续的存储单元中的48.1什么是指针指针与地址如果数据占据多个单元,一般的访问方式是,确定数据占据的单元数目,然后从其所占据单元的首地址开始依次访问指针变量存储的是数据占据单元

3、的首地址,可以直接访问地址单元。指针变量若要访问存储的数据。则需要知道数据的首地址和数据占据的空间指针变量的类型,就是数据占据的空间大小58.2指针变量8.2.1使用指针变量的一个例子程序:voidmain(){inta;int*p;//定义指针变量,变量前面加*a=100;p=&a;//将变量a的地址赋给指针pprintf("a=%d",a);printf("*p=%d",*p)//通过指针访问数据}68.2指针变量8.2.2指针变量的定义格式:类型说明符:*变量名“*”表示指针变量,说明这个变量是指针类型

4、类型说明符:说明指针指向数据的类型若要改变指针指向的数据类型,则需要进行强制类型转换指针的值存放指向数据的首地址,指针的类型确定了指向数据占据的单元数目78.2指针变量8.2.3指针变量的引用变量的数据访问形式普通变量:变量名—变量存储的数据指针变量:*变量名—指向存储单元存储的数据定义时:*p表示为指针;使用时*p表示指针指向的数据变量的地址访问形式普通变量:&变量名—存储数据的首地址指针变量:变量名—指向的存储单元一般情况下,不要将地址值直接赋给指针变量88.2指针变量8.2.3指针变量的引用一般情况下,不能将地

5、址值直接赋给变量若有inta,*p;则:&a=1000p=2000是错误的指针不会单独使用,常和其他普通变量关联在一起使用关联方式:p=&a使用指针,必须要先给其一个地址,再访问地址中的数据,如同使用变量必须有一个确定值一样98.2指针变量8.2.3指针变量的引用指针和变量的几个换算关系:对于变量,有:名称=数据、&名称=地址对于指针,有:名称=地址、*名称=指向的数据若有定义:inta,*p则:&a、p是同一类型数据,为地址a、*p是同一类型数据,为整型数据一般情况下,使用p=&a的形式,让指针与变量关联,使用*p

6、的形式,访问指向的数据108.2指针变量8.2.4指针变量作为函数参数复习:函数参数的传值与传址方式传值:传递后形参不影响实参传址:传递后实参、形参指向同一地址利用传址的特点,改变形参指针指向数据的内容,即可改变对应实参指针指向的内容利用传址方式,可以让函数在保持独立性的同时,实现对主程序中的数据进行批量修改的功能。118.2指针变量8.2.4指针变量作为函数参数指针作为函数参数,是一种传址方式。利用实参形参指向同一地址的特性,使函数可以改变上层函数中变量的值使用这种方法,必须使用传址的特性,将要改变的变量的地址作为

7、实参,传递给下层调用函数函数的参数也必须为指针,通过在函数中改变指针指向的数据的值,就改变了实参指向数据的值,也就改变了实参所在函数中变量的值128.2指针变量8.2.4指针变量作为函数参数例:用函数实现两个变量交换。传值:函数无法改变实参的值,不能实现全局变量:可以实现,但函数独立性差函数的调用必须使用在函数之外定义的全局变量全局变量的定义必须符合函数要求的名称传址:利用传址的特性,可以实现要求,同时保持了函数的独立性函数的参数必须是指针形参、实参的值均没有改变,改变的是地址中的值138.2指针变量8.2.4指针变

8、量作为函数参数例:用函数实现两个变量交换。主程序voidmain(){inta,b*pa,*pb;scanf("%d,%d",&a,&b);pa=&a;pb=&b;//指针pa指向变量a、pb指向变量bswap(pa,pb);//传递指针变量到函数printf("a=%d,b=%d",a,b);}148.2指针变量8.2.4指针变量作为函数参数

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

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

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