[C语言教学中指针概念解析及注意问题] c语言函数指针

上传人:豆*** 文档编号:141544020 上传时间:2022-08-24 格式:DOCX 页数:4 大小:16.64KB
返回 下载 相关 举报
[C语言教学中指针概念解析及注意问题] c语言函数指针_第1页
第1页 / 共4页
[C语言教学中指针概念解析及注意问题] c语言函数指针_第2页
第2页 / 共4页
[C语言教学中指针概念解析及注意问题] c语言函数指针_第3页
第3页 / 共4页
点击查看更多>>
资源描述
C语言教学中指针概念解析及注意问题 c语言函数指针 摘 要C语言的指针在使用时比较灵活,轻易犯错。本文从指针的概念入手结合内存空间的分配指出指针的实质及特点,并对常见问题进行汇总分析,以促进学生对指针学习的了解和利用。关键词C语言指针内存单元中图分类号TP312文件标识码A文章编号1007-941603-0117-01不掌握指针就是没有掌握C的精华,可见指针在C语言中的主要地位。指针是C语言中一个特殊的数据类型,灵活的利用指针能够写出简练、紧凑、高效的程序。不过,指针概念比较复杂,利用比较灵活,轻易犯错,对它的了解和应用往往是初学者的一道难关。1 指针变量的概念及特点指针的概念在计算机中,全部的数据和程序全部是存放在存放器中。通常把一个字节空间称为一个内存单元,为了正确访问这些内存单元,必需为每个内存单元编上号,依据某个内存单元的编号即可正确的找到该内存单元,我们把内存单元的编号叫地址。通常是一个字节对应一个地址,依据内存单元的地址就能够转到所需的内存单元,我们把这个地址称为指针。在C语言中,能够用一个变量来存放指针,这个变量被称作指针变量。所以一个指针变量的值就是某个内存单元的地址,也称为某内存单元的指针。指针的特点指针含有两大特点,一是指针变量本身的值。指针变量的值就是某个内存单元的地址,经过指针变量中存放的地址,能够访问这些内存单元的内容。指针变量既然是变量,那肯定有自己存放空间的大小了。那么指针变量的大小是多少呢?指针是用来存放地址的,那么指针变量的长度当然就是其所在机器地址总线的长度了。比如在32位的x86上,指针通常来说就是32位的,也就是4个字节大小。二就是指针变量的类型。我们全部知道申明指针变量的时候全部需要指名其类型,比如char */int *等,那么这里的char/int之类的又有什么含义呢?能够把这些类型了解成一个”尺度”。如刚才所说,指针的值指明了能够访问的位置,那么指针的类型则限制了指针从该位置所能访问的长度。比如,int *p 说明了p这个指针变量在使用诸如*p等方法访问p中存放的地址中的数据的时候,系统会提取sizeof长度的数据出来,这个数据当然就是一个int型的值了,或在进行诸如p+这么的操作时,系统会加上sizeof的长度。总而言之,指针其实就是一个地址加一个长度,地址限定了指针起始的位置,而长度则要求了系统按多少字节来访问内存的数据。指针类型转换有了以上的说明,有关指针强制类型转换的概念就好了解了。指针的强制类型转换的就是指针的类型,也就是系统使用指针的方法。比如从int*转换到char*,那么指针中的地址并没有改变,只是类型变了,比如在实施p+的时候,原来是增加4个字节,而转换以后便成了增加1个字节。再复杂一点,常规类型向结构体的强制类型转换也是这么的道理。void指针和NULL指针void数据类型是一个很主要的数据类型。void的意思就是“无值”或“无类型”。void指针通常称为“通用指针”或“泛指针”。之因此有这么的名字是因为使用void指针能够很轻易地把void指针转换成其它数据类型的指针。比如在为一个指针分配内存空间时:int *p;p=malloc;?原来函数malloc的返回值是void类型,在这里经过在前面加上一个带括号的int*就把void*类型转换成了int*类型。因此不能简单的把void看成“无”的意思。NULL指针是不指向任何一个地址的指针。这么的指针通常是许可的,当一个指针为NULL的时候,不要对它进行存取。2 使用指针应注意问题及实例解析:严禁使用“野”指针野指针是不由程序员所能控制的指针。当在一个程序里面定义了一个指针而又没有给这个指针一个详细地址指向时,这个指针会随意地指向一个地址,这么的指针就是一个野指针。假如这个地址后面的内存空间没有什么主要的数据则不会造成不好的后果,不过一旦这里面存放了有用的数据,那么这些数据随时全部有被野指针存取的危险,假如这么,数据就会被破坏,程序也会瓦解,因此在程序里面是一定要严禁任何野指针的存在。如:int *p; *p=20; 这就属于危险操作。应改为int *p,a; p=&a;*p=20;指针跑偏以下例:#includevoid main char a10,*p=a,i ;for char a10,*p=a ;whileprintf3 结语指针是C语言的精华部分,只有了解并活用指针,才能了解C语言的精髓,才能利用它可编写出颇有特色的质量优良的程序,实现很多用其它高级语言难以实现的功效。同时因为指针使用灵活,造成轻易犯错,所以使用指针时要十分小心,而且在编程过程中不停总结指针的使用技巧,经过实践中的不停探索才能正确无误地驾驭指针。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!