对函数部分的整理

函数在程序设计中是十分重要的,运用函数能够加强函数的可读性,并且在一段程序出错时能够很快速的找出错误。今天就来简单的对函数做一下总结。

函数的形式和平时的代码形式是一样的。将主函数名改为函数名就可以了。但是要注意的是如果将函数定义在主函数之前可能会不符合逻辑顺序。就要在主函数前定义即  “数据类型 函数名”之后再调用时再引用一次。在定义数据类型时也要注意,void的函数返回无类型,即无返回值。它调用一段文字一句话或一条指令,调用一次出现一次,无返回值。还有在函数中要搞清楚形参和实参,在函数定义中定义的是形参。

函数中最重要的是函数的调用,函数的调用有传值调用,传引用和传址调用。

传值调用是将实参的数据值传递给形参。在被调用函数中,形参值可以改变,但不影响主调函数的实参值。参数传递方向只是从实参到形参,简称单向值传递。就例如swap函数中,如果运用传值调用虽然在swap函数中交换了两数数值,但在main中却没有交换。因为swap函数只是交换两变量的副本值,实参值没有改变,并没有达到交换的目的。

传引用是函数调用中较为常用的调用方式。形式是“类型名&引用名=某变量名”,就是把实参和形参联系起来,相当于起了一个别名。传引用可以传两个以上的变量。

第三种是传址引用。这种是把实参的存储地址传递给形参,所以当形参发生改变时,其实是该地址上的数发生了改变,所以此时的实参发生了改变,函数运行的结果可以被传递回来。这里我们要简单介绍一下指针变量。其内容为地址(存储位置)的变量称指针变量。他所指向的地址上存放变量称为目标变量。

我比较喜欢运用的是传引用,因为传引用相对比较简单方便。传值调用中无法将实参值做一些处理,而传址引用中首先要找到一个地址,而传引用较为方便,给变量起一个别名,不需要变量的地址就可以对变量做处理。

除此之外还有一些比较值得注意的问题。

在说明变量中  指针变量加*代表定义,引用变量加&代表定义。

在正常语句中  用&代表取地址,加*代表取指针变量所指用的目标变量的内容。

C++规定*(a+1)表示的是数组中下一个元素,不是下一个字节。

&(a+1)=a     *(a+1)=2     *(a+1)与a[1]相同   p+i或a+i均表示a[i]地址&a[i]

指针运算中++(-)表示指向上一个(下一个)同种类型数据

指针变量中注意

int   *p

int   &x=y

p=&x

y=*p

还有就是自定义函数和系统函数问题

若定义名一样,自定义函数有效。 

以上是我函数部分的知识点的一些总结,其次我还有些对函数部分疑惑

这一段时间学习了函数问题,但是对于递归函数一直不是很理解,只是大致明白在递归函数中调用自己,直到调用到已知条件定理之类。但是在递归函数的练习中却是一直摸不到门路,有时在递归函数中调用自己导致函数的混乱。

其次是对函数的一些个人心得。在写程序时,函数确实有很大的用处。尽管现在写的程序都是一些简单的程序但是运用函数来做,哪一部分出了问题能够立刻看出来,不至于从主函数里一行行的看。而且调用函数可以把主函数尽可能地简化,思路也很清晰,把要用到的语句写在主函数前运用时就调用。本身C语言是一门考验逻辑的学问,调用函数可以把主函数分成多个部分然后多次调用函数就能解出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值