《c语言程序设计》上机报告12

《c语言程序设计》上机报告12

ID:35495840

大小:86.22 KB

页数:4页

时间:2019-03-25

《c语言程序设计》上机报告12_第1页
《c语言程序设计》上机报告12_第2页
《c语言程序设计》上机报告12_第3页
《c语言程序设计》上机报告12_第4页
资源描述:

《《c语言程序设计》上机报告12》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、上机12指针(1)上机课时课内:2课时;课外:2课时上机类型验证性上机上机目的1.掌握指针和指针变量的含义。2.掌握指针的定义、初始化和引用。上机内容1.指针和指针变量的含义下面我们用一个表格总结如下:比较项指针指针变量类型常量变量含义指针就是内存的地址1.首先是一个变量。2.这个变量用来保存指针(地址)。3.由于地址具有导向作用,因此定义了一个指针变量后,这个指针变量将指向某个变量。2.指针的定义、初始化和引用我们按步骤来演示指针的定义、初始化和引用的过程。代码intx=5;定int*p;义指针化指针引inty;用y=*p;指内存

2、情况地址内存单元7)oio"bon整型变量7)ioo指针变量X01015p"oliobill指针II地址内存单元"ooioboil整型变量bioo扌旨针变量010154pT0101"oiio"bill指针IL地址内存单元boioboil整型变量Xbioo厂0101J旨针变量01015pbliobill整型变量y5解释说明1・定义了一个整型变量X。2.计算机自动按照某种算法为变量X分配内存地址。假如X的地址是0101(二进制表示)o3.给变量x初始化,值为5。1•定义了一个指针变量P(注意在定义阶段*表示定义一个指针变量)2.注意这时

3、候还没有初始化,因此它没有值,也就是说还没有指向任何其他变量。l・&x表示取出变量x的地址。2.然后将x的地址0101赋给指针变量P3.其实这个时候就相当于指针变量P指向了变量x.(这个是理解指针概念的关键)1•在引用阶段*表示取出内容。2.因此*卩表示取出P的内容,而P是个指针,具有指向作用,因此就是取出P指向的变量里面的内容,也就是取出x的值。3.将取出的x的值赋给y在c语言中,一种数据类型或数据结构往往都占有一组连续的内存单元。用壯也址”这个概念并不能很好地描述一种数据类型或数据结构,而与旨针”虽然实际上也是一个地址,但它却是

4、一个数据结构的首地址,它是“指向”一个数据结构的,因而概念更为清楚,表示更为明确。这也是引入“指针”概念的一个重要原因。注意以下几个问题:1.指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址,决不能赋予任何其它数据,否则将引起错误。2.注意在指针变量定义阶段和引用阶段*的不同含义。3.注意&和*的含义。上机任务1任务要求:上机11中有这样的一个题目,现在你能用指针解决吗?■1includestdio.h>intexchange(

5、intxfinty)〃函数定义:交换侧施]{・inttemp;temp二x;x二y;y-temp;-}intmain()•]{■;intx二5{二3;printf("befor:x=%d,y=^d",x,y);〃交矣里彎揪•和yexchange(xfy);〃函瓠益printf('after:x=%d,y=%d',x(y);〃交换后輪出渤y■械功了礬二魂?return0;}.上机任务2任务要求:你能根据下面内存图的要求用指针来比较X和y的大小,并按从小到大的顺序将x和y输出来吗?别忘了整个程序仍然要考虑使用函数进行模块化。整型变量

6、內存单元指针变量X随机4pointerlV随机4

7、pointer2

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

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

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