- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
7.2.2指针的关系运算设p、q是指向同一数据集合的指针变量,则p<q、p<=q、p>q、p>=q、p==q、p!=q是指针变量允许实施的关系运算。它们的意义分别是:(1)p>q:若表达式的结果为非0;则表明p指针变量所指向的元素在q指针变量所指向的元素之后。否则,结果为0,则表明p指向的元素在q指向的元素之前。(2)p<q:若表达的结果为非0,则表明p所指向的元素在q所指向的元素之前。否则,结果为0,则表明p所指向的元素在q所指向的元素之后。图7.7内存……..a[0]a[1]a[3]a[2]a[4]a[5]……...(低地址)(高地址)pq7.2.3指针变量的赋值运算设p,q是指向同一数据类型的指针变量,n为一整数,则:p=q、p=q+n、p=q-n、p+=n,p-=n都是指针变量允许实施的赋值运算。它们的意义分别是:(1)p=q:将q中的地址值赋给p。(2)p=q+n:将由q所指位置向高地址移n个位移量后,所得的实际地址值赋给p。(3)p=q-n:将由q所指位置向低地址移n个位移量后,所得的实际地址值赋给p。(4)p+=n:等价于p=p+n。(5)p-=n:等价于p=p-n。指针变量在进行赋值运算时,要注意:(1)相互赋值的指针变量p、q,它们所指向的变量的类型应一致,否则会出错。(2)如果p+=x中,x低于int类型级别时,应将x强制转换成int类型。如x为double型时,写为:p+=(int)x;(3)指针的赋值运算仅上述列出的形式有意义,其他均无意义。更不能将一个整型变量的值或常数赋给指针变量。即:p=n;p=100;都是错误的。7.2.4指针运算符与自增、自减运算符的混用指针运算符和自增、自减运算符都属于同优先级左结合的单目运算符。它们的混用在程序设计中较为普遍,尤其是指针运算符*与自增运算符++、自减运算符--的混用更为常见。例如:while(*p)putchar(*p++);中的*p++就是指针运算符与自增运算符混用的一种。在这条语句中,*p++的运算结果是:先将*p作为操作数输出,再将指针变量p向高地址自增一个位移量。所以:*p++等价于*p;p+=1;7.3指针与函数参数函数的参数不仅可以是基本类型的变量,也可以是指针变量。对任何必须以地址方式传送的参数,均可以利用指针来实现。特别是函数的返回值多于一个时,可以利用指针来传递函数的返回值。注:当指针作为函数的参数时,对应的实参必须是变量的地址或指针;其相应的形参应是指针变量。这样才能保证地址的正确传送。【例7.5】将指针作为函数参数,改写[例7.2]
的程序。#include〈stdio.h〉swap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}voidmain(){inta,b;int*pa,*pb;scanf(%d,%d,a,b);pa=a;pb=b;if(ab)swap(pa,pb);printf(”\n%d,%d\n,a,b);}程序运行结果如下:8,1818,8#include〈stdio.h〉swap(int*p1,int*p2){int*p;p=p1;p1=p2;p2=p;}voidmain(){inta,b;int*pa,*pb;scanf(%d,%d,a,b);pa=a;pb=b;if(ab)swap(pa,pb);printf(”%d,%d\n,*pa,*pb);}程序运行结果如下:8,188,18#include〈stdio.h〉swap(int*p1,int*p2){int*p;p=p1;p1=p2;p2=p;}voidmain(){inta,b;int*pa,*pb;scanf(%d,%d,a,b);pa=a;pb=b;if(ab)swap(a,b);print
您可能关注的文档
- C语言程序设计教程:指针.ppt
- C语言程序设计课件 :函数.ppt
- C语言程序设计课件 :文件.ppt
- C语言程序设计课件:C 程序基本结构.ppt
- C语言程序设计课件:c程序设计基础.ppt
- C语言程序设计课件:C语言概述.ppt
- C语言程序设计课件:编译预处理.ppt
- C语言程序设计课件:程序设计技术概述.ppt
- C语言程序设计课件:函数 .ppt
- C语言程序设计课件:函数和变量.ppt
- 携程产品营销经理岗面试题库参考答案和答题要点.docx
- 携程产品经理岗面试题库参考答案和答题要点.docx
- 携程供应链管理专员岗面试题库参考答案和答题要点.docx
- 携程交易数据分析师岗面试题库参考答案和答题要点.docx
- 携程公共关系专员岗面试题库参考答案和答题要点.docx
- 携程内部培训专员岗面试题库参考答案和答题要点.docx
- 福建省福州市2023-2024学年高二上学期期末测试英语试卷(含答案).pdf
- 携程人力资源专员岗面试题库参考答案和答题要点.docx
- 福建省三明市2023-2024学年高二上学期期末测试英语试卷(含答案).docx
- 福建省三明市2023-2024学年高二上学期期末测试英语试卷(含答案).pdf
最近下载
- 十年(2013-2022)中考真题集锦之课内文言文35:出师表(教师版)(全国通用).pdf VIP
- 十年(2013-2022)中考真题集锦之课内文言文19:桃花源记(教师版)(全国通用).pdf VIP
- (高清版)BT 39750-2021 光伏发电系统直流电弧保护技术要求.pdf VIP
- 光伏发电工程工程量清单计价规范.pdf
- 2024中国商业医疗险发展研究蓝皮书-南开大学+中国人民保险+蚂蚁保.docx
- ISO 27002 2022 信息安全、网络安全与个人隐私保护-信息安全控制.pdf
- MK铝合金热分析仪.pdf
- 循环平稳信号分析 .pptx
- 组织内外部环境因素识别表.pdf VIP
- 年度中工作汇报PPT.pptx VIP
文档评论(0)