一起学习C语言:函数(二)

   上一篇<一起学习C语言:函数(一)> 中,我们了解了函数的概念,以及函数实现与程序编译过程。本章节,我们分析内部函数和外部函数,以及变量的生命周期。

章节预览:


4. 外部函数与内部函数
4.1 外部函数
4.2 内部函数
5. 变量的生命周期与作用域
目录预览

章节内容:


4. 外部函数与内部函数

   默认情况下,我们定义或声明的函数属于“外部”函数,又称为“全局”函数。全局函数即可以被本文件中的其他函数调用,也可以被其他文件中的函数调用。首先,我们分析函数如何在其他文件中调用到。
     接下来,编写一个多文件工程(预编译加载函数实现):

       math.c代码:

           int Add(int a, int b)
           {
               return a + b;
           }

       main.c代码:

           #include <stdio.h>
           #include “math.c”

           int main()
           {
               int res = Add(2, 3);
               printf(“res:%d.”, res);
               return 0;
           }

       在这个工程中,math.c属于源文件,main.c属于主文件(包含main函数)。 我们在math.c文件内实现了Add全局函数,在main.c内的main内调用Add函数。这个程序中,我们相当于把math.c当做头文件使用,为什么是这样呢?接下来,我们分析一下编译过程:

       一. 预编译

           在控制台中输入gcc -E main.c -o main.i,预处理器把main.c中包含的文件经过预处理后写入main.i,打开main.i文件可以看到stdio.h和math.c文件预处理后的内容,而Add函数定义也在这一步保存在了main.i文件中。

       二. 编译

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坤昱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值