C语言 函数的简介

函数:

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

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

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

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

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

常见编译错误:

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

函数本质:

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

函数的传参:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值