C语言之函数(1)

本文介绍了C语言中函数的概念和重要性,包括代码复用、可维护性和降低实现难度。详细讲解了函数声明的语法格式、作用,以及函数定义和调用的步骤。强调了避免隐式声明和保持返回值、参数类型一致的重要性,并提醒注意中文字符可能引起的编译错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是函数
函数就是一堆执行语句的组合
用于实现一些相对独立并且具有通用性功能的代码

函数存在的意义
1)代码的重要性
例如:编程时都需要实现一个两个数相加求和的逻辑
实现方式有两种:
a)每个人都实现一遍 各自为站
b)一个人实现 别来直接使用
printf函数就是b)方式实现的

2)代码的可维护性
登录和用户密码验证的功能
main(){
//显示登录界面
… 200行
//获取用户输入的用户名密码
…10行
//判断用户名密码格式是否正确
…30行代码
//对用户密码做加密处理
…300行
//从数据库中取出保存的用户名和密码
…50行
//比较数据库中驱动的和做完加密之后的密码是否一致
…10行

}
如果处理逻辑都堆到main函数中,代码可能超过几百行 阅读起来特别麻烦

如果处理,拆分成子函数 降低阅读代码的复杂性
main(){
show_login();//显示登录界面
get_passwd();//接收用户输入的密码
digest();//摘要加密算法
get_passwd_from_database();//从数据库中取得密码
check_valid();//匹配密码
}
这样就很方便阅读

3)降低功能实现的难度

函数的使用分三步
函数的声明
1)语法格式
返回类型 函数名 (形参表);
例如:int add(int x, int y, int z); //这里x y z 被称作形参

2)作用
把函数的名字,函数返回值类型,形参类型,个数和顺序通知编译器,以便在调用该函数时编译器按此进行对照检查
(函数名 实参和形参类型和个数是否一致)

函数的定义
返回值类型 函数名(形参表)
{
函数体;
}
例如:int add(int x, int y, int z){
return x+y+z;
}

函数的定义
int main(void){
int a=1,b=2,c=3,sum=0;
sum = add(a,b,c);//a b c 被称作实参
return 0;
}

函数声明的详解
1)函数声明时,可以只给定形参类型,不给定形参名称
例如:int add(int,int,int);
2)函数声明时,如果该函数不是在当前文件中定义的,标准声明形式为
extern int add(int x, int y, int z);或者
extern int add(int, int, int);
extern, 外部的。 也可以省略
3)由于编译器从上到下编译的,所以下面代码调用上面函数时,不需要声明函数原型。
4) 函数调用时,编译如果不知道该函数的类型(没有加函数声明,也没把函数的定义放在调用之前)
那么编译器默认该函数为
int f();//返回值为int, 可以接收任意多个任意类型的参数
这种情况被称为隐式声明
有些隐式声明 不影响执行结果
但有些隐式声明,会造成代码执行异常。

结论:避免隐式声明的出现

5)函数定义和声明时的返回值类型、参数类型要保持完全一致,否则编译器报错

中文字符引起的编译错误
1)“…” 中文英文都可以
2)注释部分的内容 //… // 可以存在中文
3)特别关注中文空格,不太容易检查出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值