C语言 include 源文件

C语言会在包含的位置出展开头文件,当我们包含一个 源文件是 ,同样源文件也将会展开 ,而 C 语言的编译方式为分开编译成目标文件。。这样包含就会造成方法重定义的错误。



a.c


void a(){

  printf(" a function ");

}



b.c


#include "a.c"

int main(){

   printf("b.c");

   return 0;

}

在C  语言编译是实行 分开编译 即 a.c ,b.c各编译一次生成自己的目标文件 ,也就是有两个 ,b.c编译中,展开a.c,重新生成 a() 函数,两个目标文件有两个一样的函数。故出现错误 .


当我们在方法前加static时,表示为私有的 。a.c b.c 各有一个私有的 a() 函数 ,似有函数不会有冲突.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值