经典C语言谭浩强版第十章。指针 ppt课件.ppt

经典C语言谭浩强版第十章。指针 ppt课件.ppt

ID:58771329

大小:1.27 MB

页数:59页

时间:2020-10-03

经典C语言谭浩强版第十章。指针 ppt课件.ppt_第1页
经典C语言谭浩强版第十章。指针 ppt课件.ppt_第2页
经典C语言谭浩强版第十章。指针 ppt课件.ppt_第3页
经典C语言谭浩强版第十章。指针 ppt课件.ppt_第4页
经典C语言谭浩强版第十章。指针 ppt课件.ppt_第5页
资源描述:

《经典C语言谭浩强版第十章。指针 ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十章指针10.1地址和指针的概念10.2指针定义和引用10.3指针与数组10.4指针与字符串§10.1地址和指针的概念一、数据的存取1、内存地址内存的每个字节都有一个编号,这个编号称为“内存地址”。…低地址高地址2000201920193000程序中的每个数据都对应着内存中的一个地址,从该地址开始的一个或多个字节用来存放该数据。inti,j,k;ijk2、内存单元的地址和内存单元的内容的区别:若i=3,j=5;00000011000000000000010100000000从图中可以看出它们的区别。程序编译后已经没有i、j、k这些变量名了,而是将变量

2、名转换为变量的地址,计算机通过内存地址对变量进行存取。二、直接访问和间接访问1、直接访问方式:…低地址高地址2000201920193000ijk00000011000000000000010100000000①、i=3;②、j=i+2;③、printf("%d",i);④、scanf("%d",&i);⑤、k=i+j;如何执行?0000100000000000按变量的地址存取变量的方式2、间接访问方式:C语言中可以定义整型变量、实型变量、字符型变量,各自存放相应类型的数据;另外还可以定义和使用一种特殊类型的变量,用来存放变量的地址。…低地址高地址20

3、00201920193000ijk000000110000000000000101000000000000100000000000假设已经定义变量ip用来存放整型变量的地址,它被分配到内存单元3000和3001。ip通过执行语句:ip=&i;将整型变量i的地址存放到变量ip中,即ip的值为变量i所对应的内存单元的起始地址2000。2000现在要存取i的值可以这样做:先找到存放i的地址的内存单元地址(3000和3001),从中取出变量i的地址(2000),然后再对2000和2019单元进行存取——这就称为间接访问。3、关于“指向”的含义:变量ip的值为2

4、000,即变量i的地址,这样就在ip和i之间建立了一种联系:通过变量ip知道变量i的地址,从而找到变量i的内存单元,因此说变量ip指向变量i,用箭头表示这种“指向”关系。20003000ip2000i4、为了表示将数值10送到变量i中,可以有两种表示方法:①、将10送到变量i所标志的单元中;2000i10②、将10送到变量ip所指向的单元中;20003000ip2000i10三、指针与指针变量通过地址能找到所需的变量单元,可以说:地址“指向”该变量单元。因此,把一个变量的地址称为该变量的“指针”。…低地址高地址2000201920193000ijk00

5、0000110000000000000101000000000000100000000000ip2000如果一个变量专门用来存放另一个变量的地址,则称它为“指针变量”。指针变量的值(即指针变量中存放的值)是指针(地址)。注意区分“指针”和“指针变量”这两个概念。四、说明①、程序中定义的每个变量在编译后都占有各自的内存单元,系统是通过内存地址对变量进行存取的;②、数据所占有的内存单元个数是由其数据类型决定的;③、首地址:即第一个单元的地址;④、表示地址的数与整数的区别;⑤、变量i、j的地址可能相邻,也可能不相邻,是由系统分配的,我们不必关心。§10.2指

6、针变量的定义和引用10.2.1概述1、指针运算符:*为了表示指针变量和它所指向的变量之间的联系,用“*”表示指向的关系。如:ip代表指针变量,*ip表示ip所指向的变量。即*ip也代表一个变量。例:①、若:ip=&i;i=5;*ip=5;结论:*ip与i等价。②、x=i+1;x=*ip+1;2、取地址运算符:&它与一个变量连用,以得到该变量的内存地址。3、说明:①、取地址运算符只能作用于变量:&x,&a[5];不能作用于常量、表达式或寄存器变量:&25,&(i+1);②、不能把整数赋值给一个指针变量:ip=3000;③、不能把一个指针变量的值赋值给一个

7、整型变量:x=ip;10.2.2指针变量的定义与赋值一、指针变量的定义1、格式:类型名*指针变量名其中:①、“*”表示定义的是指针变量;②、“类型名”用来指定该指针变量可以指向的变量的类型;2、例:inti,*ip;int*p1,*p2;floatx,*xp;char*cp1,*cp2;3、说明:①、“*”只表示定义的变量为指针变量,但指针变量名中并不包含“*”;"*"是指针变量的标志,不可丢掉;②、指针变量定义时,指定了它所指向的变量的数据类型;ip=&i;p1=&i;xp=&i;cp1=&x;xp=&x;指针变量定义时必须指定其所指向的变量的数据类

8、型,而且使用过程中只能指向同一种类型的变量。③、指针变量定义后,系统为变量分配一个存储单元,用

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

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

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