APP下载

C语言教学中函数调用问题探讨

2018-12-22康馨月陕西工业职业技术学院

数码世界 2018年3期
关键词:C语言内存函数

康馨月 陕西工业职业技术学院

1 前言

随着我国教育事业的发展,许多的大学老师在进行c语言授课的过程中都会遇到函数调用的问题。函数调用的问题对于学生来说是比较难理解的一个问题,如果让学生来作答一道题目,在大多数情况下,学生会用其他的方法进行相关的解答,但是如果说用函数调用的方法来解决这个问题,他们就会感觉无从下手,不知道从哪里开始做起。发生这种情况并不是说明这个函数问题本身是很难解决的,而是学生对函数调用问题不够理解,从而导致了学生无法进行解答。

2 函数在c语言中的概念

2.1 函数的概念

c语言对于当代大学生来说,并不是一个陌生的学科,但是c语言本身较为复杂,对于大学生来说,更是难以理解,而c语言程序中的基本构件是函数,每一个函数都有一定的功能。c语言中的函数在进行使用之前,必须要进行定义的工作,这个方法与变量是一样的。在c语言这门学科中,引用函数所返回的值,或者是执行函数中的代码必须要通过函数的调用才能够完成,函数的调用可以让学生看,做成一种动作,在动作进行实施的过程中,必须需要有主动方和被动方才能完成这个动作,所以函数中就有主调函数和被调函数这两种函数,在主调函数代码中,被动函数的调用也是有相应的规则的,主调函数代码必须通过引用被调函数名,并加以必要的参数来调用被动函数。[1]

2.2 函数的使用

在c语言中,函数的使用方法是十分重要的。当代大学生来说,c语言是一个比较困难的学科的原因是因为学生在学习c语言的函数的过程中无法对函数进行运用,只是粗略的了解这个函数的概念和定义,并不能在实际的问题中进行函数的应用。[2]在c语言中函数的参数主要适用于主调函数向被调函数进行传递的一个数值,而且在人们对函数进行定义的过程中,函数后面括号内的参数被人们称作为形式参数,要简便教学和算法形式参数后期也被称为形参。学生在运用函数调用的过程中,函数名称后面的括号内的参数被称为实际参数,也就是人们平时所说的实参。学生在运用和学习函数调用这个函数算法时,首先要做的就是把实际参数传递给形参,然后才能执行其他的函数工作,或者是执行函数体。在c语言的学习中,经常会因为参数的类型有所不同而导致的他的参数值的传递方法也大不相同,我们一般将这些传递方法分为值传递方式和地址传递方式这两种方法。在学生学习c语言的过程时,教师要注意培养学生对函数的使用防止学生只是学会了函数的概念,而不会进行实际的应用。

2.3 内存在函数中的应用

短期内的运行过程中是离不开c语言程序的,而c语言编译的系统,主要是根据变量的类型来进行相关编制的工作,而内应的内存单元也是根据量变的类型来进行分配的,内存单元的主要作用是方便存放变量的主要内容,每一个内存区中的存储单元都有自身的编号,这就是我们平时所说的地址,而我们平时所说的指针变量,就是我们存放地址的变量,在我们进行操作中的每种程序在内存中的表现都是与内存的单元格相对应并且进行读写的操作。[3]当一个普通的数据类型,想要进行变量或者将数组元素作为参数时,都是属于值传递的方法。如果参数是指针面料或者数组名称等等一系列与地址有关的量的时候,则是属于地址传递方法。之间是有很大的不同的,其中值传递具有单向性,而地址传递它是双向性的特点,这两种传递方式是大不相同的,但是许多的学生是无法理解,这两种传递方式是因为什么不同,这也是内存函数的重点和难点。老师在进行内存函数的讲解时要通过将函数调用过程中的内存的变化过程,进行一系列的动态展示,才能够使学生更好的理解内存概念,在函数调用中是如何进行应用的,所发生的问题和难点也会迎刃而解。

3 函数调用方法

3.1 函数的格式

如果想要学会应用函数,首先要做到的就是了解函数的定义和函数的基本格式,而函数的基本格式通常是由类型标识符以及函数名组成的,函数名称主要是形式参数列表,其中包括声明部分和语句部分两个部分。这种格式的定义函数被我们广泛的称为有参函数,这种参数是不同与形式参数列表中的参数的,参数形式列表中的参数,被我们称为形参。还有一些参数的是无参函数,无参函数是可以没有形式参数列表的,但是这种无含参数的括号不能进行省略。函数在进行使用之前,必须进行相关的声明和定义,然后才能进行使用。[4]

3.2 参数的形式

我们现在在c语言中所接触的参数形式大多都是在函数名后面加上实参表列,实参表列需要用括号将其扩起来。在c语言中,我们可以将函数分成三种调用方式,这三种调用方式主要是依据函数在程序中所出现的位置来进行划分的.首先是函数语句,函数语句主要是将函数调用作为一个词语,这种方式是不要求函数带回执的,例如打印图形等等,这些都是只需要函数完成一定的操作就可以的。[5]第二个是函数的表达式,c语言中的函数是会出现在一个表达式当中的,而这种表达是被人们广泛的称作为函数的表达式,表达式主要是要求函数带回一个确定的值来参加表达式的基本运算的。第三种是函数的参数,函数的参数经常会用,作为一个函数的实际参数,在运算中也会起到很大的作用,需要学生进行充分的了解。

3.3 地址传递

壁纸传递作为c语言中函数传递比较重要的一项,需要学生进行较为充分的理解才能够掌握好c语言中的函数传递。当时参函数被定义之后,会有自己的地址,但是在主调函数中劝没有给实际参数赋予任何的数值,但是我们可以抽象地将这种实际参数所拥有的地址来作为它自身的值,这个值也就是他的地址,可以被形式参数进行接收,而形式参数就会具有相同的地址。[6]当函数调用结束之后,形式参数就会释放它所占用的内存单元,而实参也会相应的得到形式参数。除了地址可以用作函数的实际参数之外,数组名也可以用作为函数的实际参数,在进行函数的调用过程中,我们可以把实参数组所在的位置传递给形参组就可以使行参数组合实参数组共同的占用同一个储存的区域,而对形式参数数组中的操作也就是对实际数组中对应元素进行的相关操作。c语言中的地址传递方式主要是可以将实际的参数地址,通过一定的方式和手段,传递给对应的形式参数,这样就会使形式参数和实际参数所对应的变量或数组占用同一个单元,而形式参数的变化就会引起实际参数数值的改变,接收同一地址的形式参数通常是指针变量或者数组名,实际参数是就是量变的地址。

4 结束语

c语言这一门学科对于我国的发展来说是十分重要的,c语言中的函数调用对于整个学科来说也是十分困难的,所以教育部门应该将内存的概念引入到函数应用中去,可以让学生通过更为直观的图示来理解整个c语言的知识。

[1]梁鑫:关于C语言教学中函数调用的研究及应对方法[J]。新华网,2014-08-14:31-32.

[2]刘琦:如何看后C语言教学中函数调用的问题[J]. 赤峰学院学报(自然科学版). 2015(10):51-52.

[3]桑成志:C语言教学中函数调用问题探讨[J].大连民族大学学报.2015(5):10-11.

[4]范立国:C语言教学中函数调用问题分析[J].中国人民大学学报.2014:24-25.

[5]李大昌:C语言教学中函数调用问题研究评价[J].大连海事大学学报.2016(5):6-8.

[6]杨国森:C语言教学中函数调用问题方案[J].中南民族大学学报.2014(5):17-18

猜你喜欢

C语言内存函数
函数备考精讲
互联网+教育背景下的C语言程序设计教学改革探究
基于Visual Studio Code的C语言程序设计实践教学探索
笔记本内存已经在涨价了,但幅度不大,升级扩容无须等待
51单片机C语言入门方法
“春夏秋冬”的内存
高职高专院校C语言程序设计教学改革探索
关于函数的一些补充知识
高中数学中二次函数应用举隅オ
内存搭配DDR4、DDR3L还是DDR3?