C语言内部函数与外部函数

内部函数

        当多人开发时,可能出现函数重名的情况,不同源文件中的同名函数会相互干扰
此时,就需要一些特殊函数,只在定义的文件中有效,这类函数称为内部函数。内部函数只能被本文件中其他函数调用。
        在定义内部函数时,需要在函数的返回值类型前面添加static关键字,也称静态函数。

函数的首行:

static int fun(int a,int b)

示例:

//show.c

#include<stdio.h>

void show()

{ printf("first function\n"); }

//main.c

 #include<stdio.h>

static void show()

{ printf("second function\n"); }

int main()

{

show();

}

 如果在main.c 中不说明void show()为static函数,则系统报错。

 

外部函数

开发大型项目,可能包含很多源文件来分别实现,最终,再整合在一起,有时,一个源文件中,需要调用其他源文件中的函数
调用外部函数之前,需要在当前源文件中定义外部函数
定义外部函数的方式,在函数的返回值类型前面添加extern关键字
示例代码
extern int add(int x,int y);
编译器,通过extern关键字会知道,add()函数是定义在其他文件中的外部函数
示例代码

#include<stdio.h>
int add(int x,int y)
{
return x+y;
}

#include <stdio.h>
#include <stdlib.h>

extern int add(int x,int y);

int main(int argc, char *argv[]) {
    printf("sum=%d\n",add(1,2));
    return 0;
}

其中extern 可以省略。

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值