浅谈C语言中指针的教学.doc

上传人:99****p 文档编号:1876287 上传时间:2019-03-19 格式:DOC 页数:4 大小:24KB
下载 相关 举报
浅谈C语言中指针的教学.doc_第1页
第1页 / 共4页
浅谈C语言中指针的教学.doc_第2页
第2页 / 共4页
浅谈C语言中指针的教学.doc_第3页
第3页 / 共4页
浅谈C语言中指针的教学.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、浅谈 C 语言中指针的教学摘 要:C 语言数据类型非常丰富,其中一个重要的数据类型是指针,利用指针可以直接实现对内存的数据进行快速处理、实现函数间的调用等。但是由于指针概念较为复杂,使用起来非常灵活,所以对于大一的新生初次学习程序语言设计,在学习到指针这一数据类型的时候往往难以掌握。因此在教学中,教师需要根据学生的实际情况合理的安排这一知识点的学习,一般可以按照数据在内存中的存储方式合理地进行教学设计,帮助学生理解指针的概念,从而熟练掌握指针的使用。 关键词:指针;程序;内存 1 指针的概念 首先要让学生明确指针也是一种数据类型。为了让学生很好的理解指针到底是一种什么样的数据类型,就必须让学生

2、理解数据在内存中是如何存储的。内存是以字节为单位的一片连续的存储空间,每一个字节单元都对应着一个唯一的存储单元的编号,这个存储单元的编号就称为内存单元的地址,简称地址。可以举例学生宿舍,内存单元的地址就相当于我们学生所在宿舍的房间号,在内存地址所标识的内存单元中所存放的数据,就相当于学生宿舍里入住的学生一样,可以有单人间,双人间,四人间等等。即根据数据类型的不一样,分配不同的存储空间。如下定义:char n; float d;int m ; 变量的类型不一样,内存为各自分配存储空间也不一样。由于变量 n 是字符型数据,所以内存分配其 1个字节的存储单元;变量 d 是浮点型数据,所以内存分配其

3、4 个字节的存储单元;变量 m 是整型数据,所以内存分配其 2 个字节的存储单元。所谓变量的地址就是内存为各变量所分配的存储空间的第一个字节单元的地址。即地址就是用来标识数据的存储单元的一种数据类型,方便用户对存储在各自单元中的数据进行正确的访问,在 C 语言中就将地址称为指针。指针可以用来指向变量、结构体数组及其元素以及指针等。2 区分变量、变量名、变量的地址和变量值 为了更好的理解指针这种类型的数据,我们先来理解一下变量、变量名、变量的地址和变量值的区别。所谓的变量即命名的内存空间。变量在内存中占有一定空间,用于存放各种相应类型的数据;所谓的变量名即给内存空间所取的一个容易记忆的名字;所谓

4、的变量的地址即变量所使用的内存空间的地址(内存单元的编号) ;所谓的变量值即所对应的内存单元中存放的数值。 3 指针变量的定义、赋值和引用 (一)指针变量的定义格式:基类型 *变量名; 例如: int *n; /*定义一个指向整数据的指针变量 n*/ char *m; /*定义一个指向字符型数据的指针变量 m*/ float *p; /*定义一个指向浮点型数据的指针变量 p*/ 注意:C 语言所有的变量必须是先定义然后再使用。指针变量也必须如此,为了表示指针变量是存放地址的一种特殊变量,所以在定义变量时会在变量名前加“*”号;指针变量的基类型表示指针变量所指向数据的类型,因各数据类型占用的存储

5、空间不一样,指针变量的某些操作具有特殊的含义。如指针变量加 1,不是纯粹的加 1 个字节, 而是加一个所指向变量的字节个数,例如:int *p, b=100; p=&b;其中执行p+;指的是 p 值加 2 个字节。 (二)指针变量的赋值方法 (1)变量的地址赋值给指针变量,例如:int a, *p;p=&a; (2)相同类型的指针变量之间赋值,例如:int a, *p1,*p2;p1=&a;p2=p1; (3)赋空值 NULL,例如:int *p1 =NULL; (三)指针变量的具体使用 首先区分“&”运算符和“*”运算符。 “&”运算符表示取变量的地址, “*”运算符表示访问指针变量所指向的

6、变量的值。在定义指针变量时”*”是指针变量的标志,没有特殊含义,但在具体使用中要注意,在指针变量前加了”*” , 表示取其所指向变量的值。从变量名获得变量地址用“&”运算符,从地址获得地址指向的数据用“*”运算符。 例如:int a=3,*p=&a; 具体访问数据时,可以按变量名直接访问,如:a=3;而利用指向变量的的指针去访问属于间接访问,即变量 a 的地址(指针)存放在指针变量 p 中,p=&a(p 指向 a) ,然后利用指针变量 p 进行变量 a 的访问*p=3,这就是间接访问。 4 指针变量可以作为函数的参数 指针变量和其它数据类型的变量一样也作为函数参数,区别只是传递的内容是一个地址

7、值。而且可以通过这个地址值间接改变实参、形参所共同指向的变量的值。 例如:输入 a,b,交换 a,b 数据后输出。 void fun(int *p1, int *p2) int temp; temp=*p1; *p1=*p2 ; *p2=temp; main() int a=3,b=5,*pa, *pb; pa=&a; pb=&b; fun(pa,pb) ; printf(“swaped:n” ) ; printf(“a=%d,b=%dn” ,a,b) ; 5 总结 本文主要介绍了指针的基本概念及其使用。由于指针这种数据类型比较灵活,所以学生刚开始使用时容易出错,可以通过指导学生上机调试程序,弄清程序中的细节,区分指针与其它数据类型的区别,累积编程得经验,以达到熟练的使用它。 参考文献: 1董汉丽.C 语言程序设计M.大连:大连理工出版社,2002.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。