APP下载

C语言指针教学中定义复杂数据结构的作用及方法

2018-02-25张瑜

电子技术与软件工程 2018年12期

张瑜

摘要 在高校的C语言教学中,指针模块一直以来都是教学重点和难点,高校教师致力于探索易于学生理解和接受的教学方法。在学习C语言中复杂数据结构的学习中,指针的定义起到了关键作用,指针本身就具有相当大的难度,加上复杂数据结构的抽象性,给高效教师的教学带来较大难度。本文对指针及指针变量作了明确的定义,阐明了指针在定义复杂数据结构中的方法以及作用。

[关键词]c语言指针 复杂数据结构 定义变量

1 引言

C语言指针在应用上具有简化、效率高的特点,可以定义较为复杂的数据结构,使复杂的数据结构简单化,指针与数据的存储方式(物理)有密切的联系;指针作为C语言程序的核心,概念复杂难懂,变量变换又十分复杂,学生在理解上存在较大难度。在教学中,教师通常会花费较长的课时讲授指针的相关知识,力求学生能扎实的掌握指针基础,为后面的编程学习打下坚实的基础。本文针对C语言指针在定义复杂数据中的作用及方法进行了详细的讨论,以下为讨论结果。

2 C语言中指针和指针变量的概念和应用

C语言中对指针是有明确的定义,指针即存储计算机内存地址的一种变量形式,存储单元中每个字节都有自己的编号,且每个字节的编号唯一,就是我们所说的地址。在编程的过程中,每一个被定义的变量在编译时,电脑都会自动给他们分配一定字节大小的存储空间,该变量的地址就是存储空间首个字节的编号,确切大的说,该变量的指针就是该变量的地址。在编程的过程中,也会使用一个变量来存放另一个变量,这也就是我们常说的指针变量。由于指针和指针变量在定义上十分抽象,学生很难理解,教师在实际的讲解中可以通过生动形象的比拟方式去强化学生的理解与接受。这里有一个十分形象的比较,我们把存储空间比作是一整栋宿舍楼,那么宿舍楼内的每一个房间都是一个存储单元,而住在房间内的学生就相当于一个个的数据,每间房间的门牌号就可以比作数据的地址,即指针;能对每间房间进行管理的门卫室可以理解为C语言中的指针变量。这样理解起来就十分容易,学生能很好的掌握存储空间与存储单元和数据及指针间的关系,为后期的学习带来很大帮助。

3 C語言中用指针定义复杂数据结构的常规方法

3.1 对基类型的定义

在编码复杂的数据结构时,首先要做的就是定义指针变量,在定义指针变量的过程中,首先要做的就是定义基类型。一般的指针变量都是由两部分组成的,基类型和指针变量名,这里对指针变量的赋值要与基类型相互匹配,换句话说,也就是基类型的变量有其专门的存放地址,即指针变量。这里举一个简单的例子,C语言语句,fioat b;int*p;p=&b;p=2000;其中,编译时会发现第三句和第四句无法运行,出现报错提示,原因就是定义指针时,没有先定义基类型。这里简单解释一下,如果允许指针变量指向任意的基类型,会导致内存空间出现一些不确定的变化因素,严重时会导致程序状态崩溃;基类型在指针运算上起到积极作用。

3.2 对指针相关运算符熟练运用

C语言指针模块中用到的运算符并不多,“*”(指针运算符)、“口”(下标运算符)和“&”(地址运算符)。指针运算符用于定义指针,地址运算符用于定义地址,这里值得注意的是下标运算符,下标运算符在指针模块中只起到说明作用,不起到运算符的作用;这里还要注意指针变量与普通变量的区分。教师讲课的重点主要在上机操作上,让学生真正做到会用,而不是空有一个概念,落实不到实践上。

3.3 对复杂数据结构的定义

指针在定义复杂的数据结构时,可以说明复杂数据结构中的含有复杂元素的数组、含有复杂函数的指针等等一系列对象,这也是为什么编程中使用指针能简化复杂对象,提高程序员的编程效率。前面提到下标运算符的注意事项,这里再提几点其他运算符的使用,“()”的优先级仅次于用户标识符,有时作为括号运算符,有时又能作为函数标志,在使用时要根据不同的用途对它的定义进行选择和区分。通常情况下,一个括号如果和用户标识符或者与另一个括号挨着,那么这个括号为函数标志;如果一个括号内内容为空。那么它也被认为是函数标志,其余的情况被认为是普通的括号运算符。

使用指针定义复杂的数据结构其实就是使用指针去对复杂数据结构中的各个部分进行说明,根据优先级排序,按照用户标识符、括号运算符、函数标志、指针标志、数组标志的顺序来逐个进行说明。

4 结束语

在C语言中,指针可以说是C语言的精华部分,指针的概念贯穿了整个C语言,能否熟练掌握指针的定义方法和使用技巧,是能否熟练运用C语言程序编程的关键。C语言作为一门基础的编程语言,在难度上却不低于其他的编程语言,其中最难学习的部分就是指针,首先,指针的概念抽象且复杂多变,在编程的过程中又十分多变(指针的应用十分灵活),这给刚刚接触编程语言的高校学生到来了很大的难度,并容易使学生产生厌烦的心理;这就对高校教师在教学中提出了严格要求,不仅要对基础知识进行详细的讲解,还要注重实例的参考与讲解,调动学生的动手能力和思考能力,让每个学生都能弄清每个实例;反复练习是一个很好的方法,练习过后要注意总结程序运行失败的原因并牢记于心,这样才能将C语言越用越熟练。另外,本篇论文对C语言指针的相关讨论仍然十分浅显,仅希望本篇论文能在教学上发挥一些积极作用。

参考文献

[1]段红义.C语言指针教学中常见错误分析[J].电脑知识与技术,2017,13 (04):77- 78.

[2]铁菊红,彭辉.C语言指针过程化教学方法研究[J].计算机教育,2017 (01):102-104.

[3]袁太文.一种C语言指针作为函数参数的图形化分析方法[J].福建电脑,2016(01):129-131.