打印
[经验分享]

C 语言函数的简单介绍

[复制链接]
655|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mickit|  楼主 | 2023-12-23 12:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mickit 于 2023-12-23 12:21 编辑

函数定义的一般形式如下:

View Raw Code?
1
2
3

函数值类型 函数名 (形式参数列表){
    函数体
}



1) 函数值类型,就是函数返回值的类型。在我们后边的程序中,会有很多函数中有 return x 这个东西,这个返回值也就是函数本身的类型。还有一种情况,就是这个函数只执行操作,不需要返回任何值,那么这个时候它的类型就是空类型 void,这个 void 按道理来说是可以省略的,但是一旦省略,Keil 软件会报一个警告,所以我们通常也不省。
2) 函数名,可以由任意的字母、数字和下划线组成,但数字不能作为开头。函数名不能与其他函数或者变量重名,也不能是关键字。什么是关键字呢,后边我们慢慢接触,比如 char 这类,都是关键字,是我们程序中具备特殊功能的标志符,这种东西不可以命名函数。
3) 形式参数列表,也叫做形参列表,这个是函数调用的时候,相互传递数据用的。有的函数,我们不需要传递参数给它,那么可以用 void 来替代,void 同样可以省略,但是那个括号是不能省略的。
4) 函数体,包含了声明语句部分和执行语句部分。声明语句部分主要用于声明函数内部所使用的变量,执行语句部分主要是一些函数需要执行的语句。特别注意,所有的声明语句部分必须放在执行语句之前,否则编译的时候会报错。
5) 一个工程文件必须有且仅有一个 main 函数,程序执行的时候,都是从 main 函数开始的。
6) 关于形参和实参的概念,我们后边再总结,如果遇到程序里有,大家再跟着抄一段时间。先用,后讲解,这样更有利于理解。
我们来回顾一下上节课的闪烁 LED 程序中的主函数,大家根据注释再认真分析一遍,是不是对函数的认识就清楚多了。
View Raw Code?


void main(){  //void 即函数类型
    //以下为声明语句部分
    unsigned int i = 0; //定义一个无符号整型变量 i,并赋初值0
    //以下为执行语句部分
    ENLED = 0;  //U3、U4 两片 74HC138 总使能
    ADDR3 = 1;  //使能 U3 使之正常输出
    ADDR2 = 1;  //经 U3 的 Y6 输出开启三极管 Q16
    ADDR1 = 1;
    ADDR0 = 0;
    while (1){
        LED = 0;  //点亮小灯
        for (i=0; i<30000; i++); //延时一段时间
        LED = 1;  //熄灭小灯
        for (i=0; i<30000; i++); //延时一段时间
    }
}



代码中的“//”是注释符,意思是说在这之后的内容都是注释。注释是给程序员自己或其他人看的,用于对程序代码做一些补充说明,对程序的编译和执行没有任何影响。

使用特权

评论回复
沙发
tpgf| | 2024-1-3 16:43 | 只看该作者
其实光是看定义 还是非常简单的

使用特权

评论回复
板凳
qcliu| | 2024-1-3 21:59 | 只看该作者
看起来简单 用起来其实还是非常复杂的

使用特权

评论回复
地板
drer| | 2024-1-4 10:20 | 只看该作者
一般来说形参列表最多能有多少个参数呢

使用特权

评论回复
5
coshi| | 2024-1-4 11:43 | 只看该作者
函数的返回值可以是任何类型的是吧

使用特权

评论回复
6
wiba| | 2024-1-4 23:20 | 只看该作者
空函数的作用是什么呢  为什么要建立空函数呢

使用特权

评论回复
7
kxsi| | 2024-1-4 23:54 | 只看该作者
如果函数前缀我使用void  但是我还return值了 结果是什么

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

78

主题

1328

帖子

1

粉丝