C语言程序设计第十章指针.ppt

C语言程序设计第十章指针.ppt

ID:51991958

大小:952.00 KB

页数:53页

时间:2020-03-27

C语言程序设计第十章指针.ppt_第1页
C语言程序设计第十章指针.ppt_第2页
C语言程序设计第十章指针.ppt_第3页
C语言程序设计第十章指针.ppt_第4页
C语言程序设计第十章指针.ppt_第5页
资源描述:

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

1、第十章指针Pointers功能:1、有效地表示复杂的数据结构2、能动态分配内存3、能方便地使用字符串4、有效方便地使用数组5、在函数调用时能得到多于1个地值6、能直接处理内存地址§10.1地址和指针的概念变量的静态特性在源程序中以变量名出现main(){intm=2;intn=1;m=n;}在执行指令序列以地址身份出现mov(2000),(2002)变量的动态特性内存用户数据区存放变量值21…2000200220041000………结论:程序执行时,变量的名字不存在取而代之是分配给变量的单元地址.因此有必要提供对地址的管理——指针内

2、存地址变量n变量m几个概念指针型数据:该数据表示了内存中某一存储单元的地址值,如2000,2002,2004,3010等2.指针[类型]:能表示指针型数据的一种数据类型3.指针变量:被定义为指针类型的变量,用来存放另一存储单元的地址值。……369200020022004变量i变量j变量k……20003010变量i_pointer……369200020022004变量i变量j变量k变量i_pointer如i_pointer,自身的变量的2000:表示对地址值为2000的存贮单元(即变量i)的指向,也称其为变量i的指针可简化表示为右图,称i_pointer为变

3、量i的指针……369200020022004变量i变量j变量k……20003010变量i_pointer1.根据变量名i访问(2000)单元,得到值3——直接访问2.根据变量名i_pointer访问(3010)单元,得到值2000(变量i的单元地址)再访问(2000)单元,得到值3——间接访问如对(整型)变量i的访问:指针变量与普通变量的区别1、普通变量——用来存储单元的内容2、指针变量——用来存储单元的地址称变量i_pointer为变量i的指针……369100010021004变量i变量j变量k……10003010变量i_pointeri的指针与i的

4、区别在于:i的值是3.它是内存单元1000的内容;而i的指针是存放变量i的地址1000.通过该指针可间接取得变量i的值。(改错P48)10.1.2指针变量的说明格式:[存储类别]所指(后面)数据类型*变量[=初值];表示变量为指针类型表示指针变量所指单元对象的数据类型,用于确定间接访问时应提取的空间长度和数据表示例:float*p;/*说明p为指向实型变量的指针变量*/intx,*px;/*说明了整型变量x和指向整型变量的指针变量Px*/double*pc;/*说明了指向双精度实型变量的指针变量*/10.1.3指针变量的使用指针变量的运算符:①取地址运算符——

5、&<变量名>作用:取一个变量的地址。注意:类型必须一致②间接访问运算符——*<指针>作用:表示指针所指单元的内容,也称指针内容运算符(3)C语言中用NULL表示空指针。语句:p=NULL;含义:置指针p为空,即没有指向任何对象语句:if(p==NULL){……}含义:判断指针P是否为空,若指针p为空,则表达式成立。例如:intx=10,y,*px;p=&x;/*&x表示取变量x的地址将其赋给指针变量p*/y=*px/*表示取指针变量P所指单元的内容,即变量x的值,则有y=10*/变量说明中的*表示被说明的变量为指针类型表达式中的*表示对指针变量p间接取值运算变

6、量px……10……200020022004变量x变量y……301020001010.1.4指针变量的初始化(1)使用赋值语句进行指针初始化。(2)在说明指针变量的时候同时进行初始化inta,*pa;/*说明变量a和指针变量pa*/pa=&a;/*将变量a的地址赋给指针pa*/inta,*pa=&a;/*说明变量a和指针变量pa并*/将变量a的地址赋给指针pa*/(3)避免错误inta;*pa=&a;/*发生指针变量定义和赋值语句混淆情况的错误*/int*pa;floatk;pa=&k;/*发生指针变量指向数据类型的错误*/10.1.5引用指针变量当指针变量

7、定义和赋值之后,引用变量的方式可以用变量名直接引用,也可以通过指向变星的指针间接引用。10.2指针变量作函数参数10.2.1指针作函数的参数C中指针表示地址的概念,指针作函数的参数就是指在函数间传递变量的地址。要注意实参的数据类型要与作为形参的指针所指的对象的数据类型一致。指针px所指的内容加指针py所指的内容通过指针参数使函数返回多个值函数调用结束时返回一个(且仅一个)结果,称为函数的返回值,并且参数间的值传递使函数只能作用于形参变量而无法修改实参变量的值。如例9-6中swap函数。5105仅仅实现函数中x与y交换,没有实现a与b单元数据的交换/*将py指向

8、单元中的值赋给px指向的单元里*//*

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

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

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