C语言中的指针教学.pdfVIP

  • 0
  • 0
  • 约5.77千字
  • 约 2页
  • 2017-08-26 发布于河南
  • 举报
山东省农业管理干部学院学报 年 2011 第28卷 第2期 C语言中的指针教学 李 志 (山东省农业管理干部学院,山东济南 2 50 100 ) 摘要:C 语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、移植性好,既具有高级语言的 各种优点,同时又具有低级语言的许多特点,因此C 语言在实际中应用广泛,也是编程人员首选的入门语言。C 语 言指针部分的内容是教学中的难点。本文将通过图示方法来阐述指针的概念、指针的应用和指针与数组之间的联 系。 关键词:C 语言;指针;数组;图示方法 中图分类号:G93 1 文献标识码:A 文章编号:10 0 8-7 54 0 (2 0 1 1 )02 -0 15 9-02 C语言功能丰富、表达能力强、使用灵活方便、目标 指针其实是内存地址,而内存中的单元是按字节编址 程序效率高、可移植性好,适合编写各种软件,尤其是系统 (每个地址编码对应—个字节空间)。从图中也可以看出整 软件,因此C语言已在诸多领域得到广泛的应用。日前许多 型变量a和b分别占用二个字节的内存空间。同时每个指针 高等院校,不仅在计算机专业开设了C语言课程,而且在非 变量都是存储一个地址码,所以指针变量也是专用两个字节 计算机专业中也大量开设C语言课程。指针是C语言中的— 的存储空间。 个难点和重点,也是C语言中的精髓。如灵活掌握指针,可 二、指针的应用 以编写出简洁、紧凑、高效的程序,使程序的可操作性更好, 在实际的教学过程中,特别是在实验教学过程中,经 编程更加灵活、方便。C语言之所以强大,以及其自由性,很 常发现学生指针运用不当,特别是在和数组的结合使用 大部分体现在其灵活的指针运用上。因此,说指针是C语言 中。当指针使用不当时,极易造成不良后果。 的灵魂,一点都不为过。 1、指针的初始化 一、指针的概念 指针在运用中必须先对其进行初始化,然后再使用。 首先理解指针变量和普通变量之间区别。如int a=l, 未初始化的指针所指向的地址空间是—个不确定的内存空 b=2,*h=&a,*k;k=&b,前一条语句含义是定义整型变量 间。对—个不确定的内存空间进行操作,会造成非法内存 a、b和指针型变量h、k,同时将变量a的值赋值为1和将变 空间的访问,甚至造成系统崩溃。 量b的值赋值为2,再将变量a的地址赋值给指针变量h;后 如例1中所示,指针变量h在定义时未赋初始值,在 面一条语句是将变量b的地址赋值给指针变量k,这样就可 执行语句*h=i时,h指向内存中的—个任意地址,如果这 以通过指针变量h和k间接访问变量a和b。如果仅仅以语言 个任意地址恰好是—个空闲的内存单元,那么这个程序的 来描述上述付值,对于—部分同学理解起来就有一定的难 执行就没有问题,但是如果h所指向内存地址恰好是—个系 度。我们可以通过图示的方法来描述上述语言。如图l所示, 统内存地址,这样就会造成因系统内存地址的非法访问而 采用图示方法展示出整型变量a、b和指针变量h、k之间的 造成系统崩溃。 关系。 例l: main() {int i=l,*h; *h=i; prinf(“%d”,*h); } 采用图示方法分析,如图2中所示,指针h没有—个 作者简介:李志,山东省农干院计算机科学与技术系。

文档评论(0)

1亿VIP精品文档

相关文档