二级c语言第七章指针

二级c语言第七章指针

ID:40448896

大小:2.31 MB

页数:61页

时间:2019-08-02

二级c语言第七章指针_第1页
二级c语言第七章指针_第2页
二级c语言第七章指针_第3页
二级c语言第七章指针_第4页
二级c语言第七章指针_第5页
资源描述:

《二级c语言第七章指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章指针内蒙古科技大学工程训练中心2021/8/22工程训练中心徐国海什么是指针?为了有效的管理各存储单元,我们为每个存储单元进行编号,这个编号就是地址。内存单元地址又称为指针,指针就是存储单元的地址。pointer内存中有许多存储单元,存储单元用来存放数据。3050305230542021/8/22工程训练中心徐国海什么是指针变量?我们把存储单元地址作为其值的变量,叫做指针变量。123453052内存中用户数据区ijk305030523054p用取地址符号“&”来获取地址。p=&j;p=&i;p=&k;指针变量如果一个指针变量存放了另一个变量的地址,则形象地称指针变量指向那个变量。

2、2021/8/22工程训练中心徐国海指针变量的定义指针的定义格式:基类型*指针变量名*在定义指针变量时和使用指针变量时含义不同。如:int*p;float*f;char*c;基类型:用来说明指针要指向的变量类型。不同类型的变量在内存中所占的字节数是不同的。当进行指针运算时,如指针移动1,系统内部的地址则根据基类型的不同移动不同的字节数,所以必须指定指针变量的基类型。2021/8/22工程训练中心徐国海指向简单变量的指针如:inta,b,c,*p1,*p2;变量abcp1p2地址10001002100410061008内容10a=10;b=20;c=30;2030指针变量的三种赋值方式:

3、1、p1=NULL;或p1=0;02、p1=&a;10003、p2=p1;1000也可以在定义的同时赋值:inta,*p=&a;2021/8/22工程训练中心徐国海指向简单变量指针的使用如果指针变量p1、p2、p3分别存放整型变量i、j、k的地址,则称p1指向i,p2指向j,p3指向k。如图来直观反应指针变量与指针指向变量的关系。指针变量的*(取内容)运算:*p1、*p2、*p3,相当于整型变量i、j、k。2021/8/22工程训练中心徐国海inti,*p=&i;scanf(“%d”,p);printf(“%d”,*p);inti;scanf(“%d”,&i);printf(“%

4、d”,i);例如:指针法变量法2021/8/22工程训练中心徐国海指针的运算1、引用运算(运算符&、*)(1)取地址运算(&)countptrcount运算符&称为取地址运算符,它只能作用在变量上,而不能作用在常量或表达式上。它返回的是该变量在内存中的地址。例如:则语句“countptr=&count;”就是把变量count的地址赋给了指针变量countptr。这时可以说变量countptr指向了变量count,其关系如下所示:如果有语句:int*countptr,count=7;countptr=&count;2021/8/22工程训练中心徐国海(2)取内容运算(*)如:inta,*

5、p=&a;*(&a)就是a,&(*p)就是p;p指向a,*p与a等价。取内容运算符“*”,用于获取地址数据对应存储单元的内容。对指针变量进行取内容运算可以得到指针变量所指向的数据。取内容运算的优先级与取地址运算优先级相同,也为第2级,结合性亦为右结合。取内容运算与取地址运算实质上是一对互逆运算。2021/8/22工程训练中心徐国海#includevoidmain(){inti,j,sum;int*p,*q;/*定义指针变量*/p=&i;q=&j;/*建立关联*/scanf(″%d,%d″,p,q);sum=*p+*q;/*使用指针变量*/printf(

6、″%d,%d″,*p,*q);printf(″和=%d″,sum);}范例1:利用指针,求两个整数的和。2021/8/22工程训练中心徐国海#includevoidmain(){charc=′a′;char*p=&c;printf(″%c,%c″,c,*p-32);}范例2:指针运算示例。2021/8/22工程训练中心徐国海#includevoidmain(){inta,b,*p,*p1,*p2;scanf("%d,%d",&a,&b);p1=&a;p2=&b;if(a

7、"%d,%d",a,b);printf(“max=%d,min=%d",*p1,*p2);}p1a56p2&a&bb56p1p2ab&b&ap范例3:用指针实现两个数由大到小的输出。2021/8/22工程训练中心徐国海2、算术运算指向数组的指针(1)加减运算加减运算常用于数组的处理。对指向一般数据的指针,加减运算无实际意义。floata[10],*p=a,*x;x=p+3;/*实际上是p加上3*4个字节赋给x,x依然指向数组的第四个分

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

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

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