C语言 函数的简介

99封情书 提交于 2019-11-27 08:31:05

函数:
函数是C语言中管理代码的最小单位,命名空间独立,栈空间独立。
函数被调用时开辟栈内存,函数结束后释放栈内存。

声明:返回值 函数名(类型1,类型2,…);

定义:返回值 函数名(类型1 参数名1,类型2 参数名2,…)
{
函数体
}

注意:函数的定义如果出现调用之前,声明可以忽略。调用函数时如果没有找到函数声明,也没有定义,编译器也不报错,而是先猜测函数的格式,链接时再尝试寻找函数的定义。

return 语句只是把数据存储一个特定的位置,当函数运行结束后,调用者就可以从这个位置获取到返回值。
函数有返回值(格式),而没写return语句,调用者会得到一个不确定返回值。

常见编译错误:
隐式声明函数‘sqrt’,没有找到函数声明和定义,编译时错误。
undefined reference to `sqrt’,有函数声明,但无函数定义,链接时错误。

函数本质:函数就存储在代码段中的一段数据(二进制指令的集合),函数名就是这段数据的开始位置。
因此函数名就是地址,可以定义指向这段数据的指针变量,这种指针叫函数指针。
返回值 (*函数指针) (类型1,类型2,…) ;

函数的传参:
1、只能值传递(内存拷贝),使用指针可提高效率(const int *)。
2、函数之间共享变量,全局变量(尽量少用),指针(注意安全)。
3、数组当作函数的参数时就脱变成了指针(长度丢失),额外增加一个参数传递数组长度。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!