- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计第14讲(2011级)
第八章 指针 Section 2 指针的运算 main() {int a,b; int *pointer_1,*pointer_2; /*define two pointer variables*/ a=100;b=10; pointer_1=a; /* 将a的address赋给 pointer_1*/ pointer_2=b; printf(“%d,%d\n,a,b); printf(“%d,%d\n, *pointer_1,*pointer_2); Section 2 指针的运算 Run results: 100,10 100,10 8.2 指针变量的初始化 mian() {char c=A; char *p=c; printf(%c%c\n,c,*p); c=B; /*将变量c赋值为B */ printf(%c%c\n,c,*p); *p=C; /* 指针变量p指向地址的内容改为C */ printf(%c%c\n,c,*p);} 8.3.2 指针变量的运算 指针也是变量,它具有变量的特性,可以对指针进行某些运算,但需要牢记一点:指针变量的值始终与某类型变量的地址有关。 对于指针的运算,归纳起来,有如下4种运算:指针赋地址、指针加(减)一个整数、两个指针比较和两个指针相减等。 8.3.2 指针变量的运算 1. 指针变量赋值 赋值运算是指使指针变量指向一特定的内存地址。指针变量的赋值运算只能在相同的数据类型之间进行。 8.3.2 指针变量的运算 指针赋值 main() {int i=1; int *ptr1=i, *ptr2; ptr2=ptr1; /*将ptr1所指向的地址赋给ptr2*/ printf(ptr2=%d\n,*ptr2);} 运行结果为:ptr2=1 8.3.2 指针变量的运算 2.指针加(减)一个整数 指针加(减)一个整数的意义是当指针指向某存储单元时,使指针相对该存储单元移动位置,从而指向另一个存储单元。对于不同类型的指针移动的字节数是不一样的,指针移动是以它指向的数据类型所占的字节数为移动单位 8.3.2 指针变量的运算 经常利用指针的加减运算移动指针来取得相邻存取单元的值,特别在使用数组时,经常使用该运算来存取不同的数组元素。如: int array[20],*p; p=?array[0]; /* 指针p指向数组array的第一个元素 */ p+=2; /* 移动指针p,使它指向数组array的第3个元素 */ 8.3.2 指针变量的运算 移动指针访问数组元素。 main() {int array [10]={0,1,2,3,4,5,6,7,8,9}; int *p=array[0]; for (i=0;i10;i++) {printf(%d\n,*p); p++; } /* 移动指针 */} 8.3.2 指针变量的运算 3. 两个指针比较 两个指针进行比较运算可以使用关系运算符,对两个指针所指的地址进行比较。 pipj; /* 当pi所指的地址在pj所指的地址之前时为真 */ pipj; /* 当pi所指的地址在pj所指的地址之后时为真 */ pi==pj; /* 当pi所指的地址与pj所指的地址相同时为真 */ 8.3.2 指针变量的运算 pi!=pj; /* 当pi所指的地址与pj所指的地址不同时为真 */ 8.3.2 指针变量的运算 4. 两个指针相减 当两个指针指向同一数组时,两个指针相减的差值即为两个指针相隔的元素个数。 但两个指针不能相加 * * * Program Design in C Language Page * 第十四讲 地址和指针的概念 变量的指针和指向变量的指针变量 通过指针引用数组 8.1 地址和指针的概念 存储单元:存放一个字节数据的存储器 存储单元的内容:存储单元中存放的数据。 存储单元的地址:存储单元的编号。 变量的首地址:变量占据的连续存储单元的起始地址,简称变量的地址。 指针:存储单元的地址,是一个常量。 概念(结合图理解) short i; char ch; float f; ... ... 用户数据区内存 1000 1002 1003 1001 1004 1005 1006 i占据2字节 ch占据1字节 f占据4字节 存储单元的地址(指针) 变量(首)地址 i = 1; ch = ‘A’; f = 2.5; 1 2.5 A 存储单元的内容 8.1 地址和指针的概念 8.1 地址和指针的概念 定义:一个变量的地址称为该变量的”指针” 指针是一个地址值 指针
您可能关注的文档
最近下载
- 护理事业近五年发展规划(2026-2030).pdf VIP
- 虚体医学丛书:医说解集——昆明新空间1025实验室.pdf VIP
- 跨学科实践活动10 调查我国航天科技领域中新型材料、新型能源的应用-九年级化学下册(人教版2024).pptx VIP
- 2024中国可再生能源大会:大型伞梯式陆基高空风力发电技术研究.docx
- 特发性与继发性三叉神经痛诊疗专家共识(2025版).pptx VIP
- 工艺管道施工方案.pdf VIP
- 《像山那样思考》课件.ppt VIP
- 工艺管道施工方案.doc VIP
- 分析石油地质勘探与储层评价方法.docx VIP
- DB11T 891-2012 居住建筑节能设计标准.pdf VIP
文档评论(0)