《大学c语言教材》ppt课件

《大学c语言教材》ppt课件

ID:26927658

大小:1.46 MB

页数:87页

时间:2018-11-30

《大学c语言教材》ppt课件_第1页
《大学c语言教材》ppt课件_第2页
《大学c语言教材》ppt课件_第3页
《大学c语言教材》ppt课件_第4页
《大学c语言教材》ppt课件_第5页
资源描述:

《《大学c语言教材》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章指针第8章指针C程序设计中使用指针可以:使程序简洁、紧凑、高效有效地表示复杂的数据结构动态分配内存得到多于一个的函数返回值指针是一种特殊的数据类型;指针概念是C语言中较难理解和较难掌握的概念。本章内容8.1概述8.2指针变量8.3指针与函数8.4指针与数组8.5指针与字符串8.6指针数组8.7指向指针的指针8.8main函数的参数8.9动态存储分配8.1指针的概念要明白什么是指针,必须弄清楚数据在内存中是如何存储的,又是如何读取的。内存区的每一个字节有一个编号,这就是“地址”。如果在程序中定义了一个变量,在对程序进行编译时,系统就会给这个变量分配内存单

2、元。1.变量与地址程序中:inti;floatk;内存中每个字节有一个编号-----地址…...…...2000200120022005内存02003ik编译或函数调用时为其分配内存单元变量是对程序中数据存储空间的抽象…...…...2000200420062005整型变量i10变量i_pointer2001200220032.指针与指针变量指针:一个变量的地址指针变量:专门存放变量地址的变量在C语言中,指针是一种特殊的变量,它是存放地址的。2000指针指针变量变量的内容变量的地址指针变量变量变量地址(指针)变量值指向地址存入指针变量3.变量的直接访问与间接

3、访问直接访问:按变量地址存取变量值间接访问:通过存放变量地址的变量去访问变量例i=3;-----直接访问指针变量…...…...2000200420062005整型变量i10变量i_pointer20012002200320003例*i_pointer=20;-----间接访问20两种访问方式:相当于某人甲(系统)要找某人乙(变量)来类比,有两种方法:(1)甲知道乙在何处,直接去找就是(即直接访问)。(2)甲不知道乙在哪,但丙(指针变量)知道,此时甲可以这么做:先找丙,从丙处获得乙的去向,然后再找乙(即间接访问)。指针变量与其所指向的变量之间的关系4.两种访

4、问方式的特点3变量i2000i_pointer*i_pointeri*i_pointer&ii_pointeri=3;*i_pointer=38.2指针变量8.2.1指针变量的定义一般形式:[存储类型]数据类型*指针名;合法标识符指针变量本身的存储类型指针的目标变量的数据类型表示定义指针变量不是‘*’运算符例int*p1,*p2;float*q;staticchar*name;注意:1、int*p1,*p2;与int*p1,p2;2、指针变量名是p1,p2,不是*p1,*p23、指针变量只能指向定义时所规定类型的变量4、指针变量定义后,变量值不确定,应用前必

5、须先赋值指针变量的初始化一般形式:[存储类型]数据类型*指针名=初始地址值;赋给指针变量,不是赋给目标变量例inti;int*p=&i;变量必须已说明过类型应一致例int*p=&i;inti;例inti;int*p=&i;int*q=p;用已初始化指针变量作初值例main(){inti;staticint*p=&i;..............}()不能用auto变量的地址去初始化static型指针例main(){inti=10;int*p;*p=i;printf(“%d”,*p);}危险!例main(){inti=10,k;int*p;p=&k;*p=i

6、;printf(“%d”,*p);}指针变量必须先赋值,再使用.…...…...2000200420062005整型变量i10指针变量p200120022003随机零指针与空类型指针零指针:(空指针)定义:指针变量值为零表示:int*p=0;p指向地址为0的单元,系统保证该单元不作它用表示指针变量值没有意义#defineNULL0int*p=NULL:p=NULL与未对p赋值不同用途:避免指针变量的非法引用在程序中常作为状态比较例int*p;......while(p!=NULL){...…}void*类型指针表示:void*p;使用时要进行强制类型转换例c

7、har*p1;void*p2;p1=(char*)p2;p2=(void*)p1;表示不指定p是指向哪一种类型数据的指针变量指针变量是一种特殊的变量,变量中存放的不是某种数据类型的数据,而是另一个变量或常量的地址。指针运算符取地址运算“&”和取内容运算“*”1行intnum,*pn;2行pn=#3行*pn=100;等效于num=100;注意:1)第3行,“*”作为访问目标变量的运算符,表示num内容2)第1行,在定义指针时,“*”作为说明符。3)第2行,“&”作为取num变量的地址其中:“&”和“*”互为逆运算例如:intx,*ptr=&x;则&(*

8、ptr)表示指针ptr*(&x)表示变量x(具体描述

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

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

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