C语言学习--08

        这篇文章将会讲解C语言中的函数。

        函数是一个完成特定功能的代码模块,可以在程序的多个地方调用,其代码相对独立,通常要求有返回值,当然也可以返回空值。函数使得代码更加模块化,易于理解和维护。一般形式为:数据类型 函数名(形式参数){函数体}。

        要执行函数,可以通过指定函数名和所需的参数(如果有的话)来调用函数。

        函数又可以分为内置函数,用户定义函数,库函数,回调函数。内置函数是C语言库提供的函数,如 printf()scanf()strlen() 等。用户定义函数是程序员自己编写的函数,用于执行特定的任务。库函数是在外部库中定义的函数,可以通过包含相应的头文件来使用。回调函数是作为参数传递给其他函数的函数。当其他函数需要执行特定的操作时,它会调用这个回调函数。

        函数之间可以嵌套,但要避免互相嵌套以陷入无限循环。对于函数也可嵌套本身,嵌套本身的函数被称为递归函数,在使用时注意设置递归退出条件,避免无限递归。

        在函数的使用过程中有很多需要注意的地方,首先是函数的传参。函数传参分为地址传递和值传递,形参为地址时被称为地址传递,反之为值传递,地址传递常常用于需要对外部变量本身进行改变的操作,而值传递相当于对外部变量的值进行了一个拷贝,在函数内部进行处理时不改变外部变量的值。其实本质上C语言中函数传参都是对实参的值进行传递,只是传递的如果是地址的值,那么对地址保存数据进行操作时,外部拥有同一地址的变量的数据也会改变。

        对于函数的返回值,不能是函数中局部变量的指针,这是因为函数在执行结束后会回收函数执行过程中开辟的空间,只进行返回值的返回。当返回值为指针的时候,指针所指向的空间已经被系统所回收,所以指向的是一片无效空间。当然如果在函数中使用malloc函数开辟堆空间则可以返回该空间的指针,因为堆是由程序员所控制的,在函数结束后并不会被回收,不过在不使用时需要用free函数所释放该空间。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值