C语言课件指针.pptVIP

C语言课件指针.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指针是什么 指针变量 通过指针引用数组 通过指针引用字符串 指向函数的指针 返回指针值的函数 指针数组和多重指针 动态内存分配与指向它的指针变量 例题:8.2两个数进行从大到小排序 * 首页 上页 返回 下页 * 第8章 指针 8.1指针的概念 一、变量的地址 计算机中数据存储在内存中。 内存可划分为若干存储单元,每个单元可存放8位二进制数, 即1个字节。 内存单元采用线性地址编码,每个单元具有唯一一个地址编码。 …. 35 10 2010 2011 2012 8.1指针的概念 一、变量的地址 变量的地址:系统为变量分配的内存单元的地址 一个无符号整型数 3AB0 a 3AB8 b 3 5 int a; float b; a=3; b=5; 2.变量的有关概念: 存储内容:数据值 空间大小:数据类型 空间位置:地址 生存周期:存储类别 8.1指针的概念 二、变量的访问方式 1、直接访问 3AB0 a 3AB8 b 3 5 int a; float b; a=3; b=5; 将3送入变量a所占据的内存单元(地址3AB0) 8.1指针的概念 2、间接访问 定义一个变量p,存放a的地址,通过p访问a若将变量p的值改为3AB8(b的地址),则可通过p访问b 3AB0 a 3AB8 b 3 5 p 3AB0 1.如何定义p? 2.如何获得变量a的地址? 3.如何通过p访问a? 8.1指针的概念 三、指针变量:存放地址的变量 如:p为指针变量,它存放整型变量a的首地址 我们称,指针变量p指向整型变量a 在C语言中,将地址形象化地称为指针 3AB0 a 3AB8 b 3 5 p 3AB0 1.如何定义p? 2.如何获得变量a的地址? 3.如何通过p访问a? 8.2指针变量的定义与引用 一、定义方法 类型符 *指针变量名 指针说明符 指针变量的类型 指针变量的类型:所指向的内存中存放的数据的类型 如:int *p1,*p2; char *ps; float *pf1,*pf2; 二、指针变量的赋值 指针变量的值为地址,是个无符号整数 但不能直接将整型常量赋给指针变量。 如:int a,b,*p; p=a; int *p1; p1=0x3AB0;错 8.2指针变量的定义与引用 注: 1.用变量的地址给指针变量赋值(求地址运算符) 2.用相同类型的指针变量赋值 3.若不赋值,则指针变量的值是随机的。赋空值NULL 如:p=NULL;或p=0; 4.变量的类型必须与指针变量的类型相同 8.2指针变量的定义与引用 三、指针变量的应用 1.两个有关的运算符 形式:任意变量 /*取地址运算符*/ *指针变量 /*指针运算符*/ 含义:a表示变量a所占据的内存空间的首地址 *p表示指针变量p所指向的内存中的数据 int a; int *p; p=a; 例题讲解 void main() {int a=5,b=3; int *p; p=a; b=*p+5; printf(%d\n,b); *p=4; printf(%d,%d\n,a,*p); } 8.2指针变量的定义与引用 1.将指针变量指向被访问的变量 如:int a=5,*p,b; p=a; 2.访问所指变量 取内容:b=*p;printf(%d\n,*p); 存内容:*p=100; 3.引用指针变量的值: printf(“%o”,p); 应用:通过指针变量访问所指变量 交换两个数a、b的值 #include stdio.h void main() {int a=5,b=8; int *pa=a,*pb=b; int t; printf(a=%d b=%d\n,a,b); t=*pa; *pa=*pb; *pb=t; printf(a=%d b=%d\n,a,b); } 8.2指针变量的定义与引用 2.运算规则 *、:优先级相同且右结合 与++、--、!等单目运算符的优先级相同 高于算术运算符*、/、% 如有:int a=2,*p=a,*q=a; printf(%d %d\n,*p++,*(q++)); p=a;q=a; printf(%d %d\n,*p,(*q)++); 结果:2 2 3 2 例题讲解 写出下面各表达式的结果,并找出具有等价关系的对子。 int a=5,*p=a; *p *a (*p)++ a a *p++ *(p++) a++ 思考:下列表达式是何含义? 有什么要求?

您可能关注的文档

文档评论(0)

与您共享 + 关注
实名认证
服务提供商

我的文档主要集中的行业是石油化工和安全生产,从事石油化工行业并且取得了中级注册安全工程资格。精通炼油工艺方面的工艺、安全、设备。希望通过平台共享自己的知识和经验。

1亿VIP精品文档

相关文档