C语言多文件编程

多个.c文件有什么用?其他成员编写的时候需要main函数,是否合并程序的时候要删除掉?怎么合并?怎么知道按什么顺序?是否只有全局变量能使用extern?... 多个.c文件有什么用?
其他成员编写的时候需要main函数,是否合并程序的时候要删除掉?
怎么合并?怎么知道按什么顺序?
是否只有全局变量能使用extern?
展开
 我来答
传薪网络
推荐于2016-10-20 · TA获得超过1355个赞
知道小有建树答主
回答量:635
采纳率:92%
帮助的人:243万
展开全部
  多个c文件的作用在于将不同功能的代码分开来实现,这样便于代码重用、代码编译和代码管理。
  一个程序中,只能有一个main函数,这是整个程序的起点和入口。如果其他人也实现了该函数,则必须要重新命名,然后在唯一的main函数中统一调用。

  多个c文件的合并并没有顺序要求,任何一个都可以先编译或者后编译。
  extern表示导出,可以用于函数和变量。用于函数的时候,表示这是一个外部函数,用于变量的时候,表示这是一个外部变量。

  如果使用一个c文件,多个h文件,则会导致改动代码任何一个地方,都要重新编译所有的文件,效率上非常不划算。而使用多个c文件,当代码发生变更的时候,仅仅相关的c文件代码需要重新编译,其他代码则可以保持不变,不用参与编译。

  函数中的局部变量无法在函数外部调用,只能通过参数传递的方式传递给第三方函数。因为局部变量是出于栈上面的,栈会随着函数调用完毕的时候被系统回收。
苗慧丽北罗
2019-12-30 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:25%
帮助的人:688万
展开全部
001
最少要num[4]来存。除了001三个字符,还有一个\0字符。所以第一次出错。只要改成num[4]就可以了,你改成num[10]就更可以了。c语言字符串是以\0结束的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cdyzxy
推荐于2016-05-24 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3730万
展开全部
  1. 多个.c文件利于代码的重复利用、模块化编程,保持每个文件中代码不过长,利于调试,可分段优化编译等

  2. 多个main函数当然要去掉,一般你使用其他人编的程序可以利用他们的函数,而要将main函数改写或去除重写

  3. 把这些可用的.c文件复制、添加到你自己的目录、自己的工程,还要添加这些.c文件中包含函数的.h文件,以便在调用函数之前引用

  4. 一般extern共享全局变量

追问
对于1.:为何不只用一个.c文件,多个.h文件??
对于3.:当 合并时,其他人的.h文件 应该 保存在 什么目录?
对于4.:我的意思是,假如一个变量在main函数里,在 其他函数 或 同工程不同文件 中,能否引用extern进行调用??
追答
比如优化编译时,是按照单独的文件来进行的,这样就把需要优化的函数放到一个.c文件中来做。
另外,如果我们需要单个.c文件中的一个函数时,其他函数的代码在编译时也会被连接到你的exe中,即使不用,如果把相关联的函数放在一个.c中会减少这样的空间浪费。
可以复制到自己的include目录或直接与.c文件混放
举例:
【a.c】
int sss[256];
main()
{
}
【b.c】中要用a.c中开设的变量sss
extern int sss[256];
然后拿来用即可,注意extern的变量不能带初始赋值,比如: extern int y=0;就不可以,这个只能在原始定义处做。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wang_hu_feng
2013-07-10 · 超过14用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:25.4万
展开全部
多个.C文件使你的程序具有更好的阅读性,而且一个.C对应自己的一个在自己文件的作用域,用extern可以将全局变量声明拓展出去,你在一个.c文件里面声明的变量无论是不是全局还是constant、static、局部,都只在自己的文件的作用域里面,用extern可以声明到其他的.c里面。编译的时候是按照先分开编译一个一个.c文件生成对应的一个个obj中间文件,然后再根据包含的头文件进行连接。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忍者1205
2013-07-10 · 超过14用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:44.3万
展开全部
便于模块化编程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式