c语言编程为什么要多文件呢?

作者&投稿:裘中 (若有异议请与网页底部的电邮联系)
C语言编程时为什么要加头文件?~

  加个#include 的意思就是包含的意思,这个语句是c编译软件的预处理语句,本身不是c语言的语法。也就是提供给编译器在生成最终应用程序之前用的。比如#include “math.h” 就是把math.h 这个文件里的内容简单的复制到当前位置来,里面有定义好的关于数学运算的函数之类的,而函数是必须要先定义,后使用。所以如果要用数学函数,那么就要先定义,而math.h里面就是为我们定义好了的一些列函数,简单包含进来,就相当于一次性全部定义了可能要使用的所有函数,这样就可以直接用里面定义的函数名直接调用那些功能了。而如果不包含那个,也可以自己定义一些列的数学函数,按顺序写在开始的地方,之后再调用。效果是一样的。记住嘛,#include的意思就是简单的复制后面制定的文件内容到当前位置。

举个简单的例子!你会容易理解的。
你写一个stack.h的头文件,里面声明几个函数原形:
stack.h
#ifndef STACK_H
#define STACK_H

extern void push(char);
extern char pop(void);
extern int is_empty(void);

#endif

你可以在其相应的stack.c中对这些函数进行实现
stack.c

#include "stack.h"
void push(char)
{
/*your code*/
}

char pop(void)
{
/*your code*/
}

int is_empty(void)
{
/*your code*/
}

在main.c中你可以这样写
#include
#include "stack.h"
int main()
{
push('a');
push('b');
push('c');
while(!is_empty())
putchar(pop());
putchar('
');
return 0;
}
大致格式就是这样,在stack.h(这个名字你可以随便定),在这个头文件中声明函数原形,在相应的stack.c中进行函数定义与实现,主程序文件中包含这个头文件之后就可以调用stack.h中声明的函数,编译后无错误即可执行,你可以试试。

兄弟我可是一个字一个字的打上去的,不是粘贴的。

源代码确实是多文件的。不过编译好的目标代码在运行期调入内存后就无所谓文件的概念了,然而不同代码段之间的界限仍然存在。
模块化主要有以下几个优点:
1.便于复用代码。通用性强的重复的功能只要写一遍就可以了,下次要用在其它程序上时只要更改很小的部分或者可以不用更改。
2.便于多人协作。在设计软件之初就可以很清楚地分配各个开发部门的任务。模块的编写者本身只要关注他所写的东西,清楚这一部分的功能,留出接口就可以了。另外,对于整个工程的负责人而言,这样会方便浏览全局的工作进度,统筹人员安排。
3.便于修改和维护。如果能确定只是某个模块有问题,在模块内解决即可,不需要牵一发而动全身。要升级某一部分的功能,可以只针对具体的模块重新开发,节约成本。
其实不只是C语言,许多其它语言也经常使用这种方法。开发大型软件时这种方法非常有效(否则不明显,或者反而有副作用)。对于软件设计来说这不仅仅是一种风格,而是一种方法学了。
声明include包含的函数是声明外部函数,只是extern关键字可以省略。
声明后直接调用就可以了。
----
[原创回答团]

实际工作中,源代码文件是要给你的工作同伴看的,你都写到一个文件里,乱七八糟一大堆让别人怎么看,肯定要按照不同的功能划分,写到不同文件中.

便于修改,调试,层次清晰。

多文件的除了在修改上方便外

和都放在一个文件在有区别吗????

当然有区别了,多文件的是将一个复杂的问题分成若干个简单的,分别写在一个个文件当中,就如Word,有输入、保存、输出等环节,可以是输入一个文件或在输入中再分成几个文件,这样子以后的好处就是编程较容易,可以一个人负责一个文件,然后将程序连起来(这个比较专业),出现错误了容易发现,如不能保存了就找保存那个文件的程序就行了,增强了可读性,如果是一个文件,程序冗长难以实现多文件的优越性。。我大一学的C语言,现在在学C ++,呵呵,加油


我想先自学c语言 应该怎样来学习呢
提到数据结构,指针是其中重要的一环,绝大多数的数据结构是建立在指针之上的,如链表、队列、树、图等等,所以只有学好指针才能真正学好C。别的方面也要关注一下,诸如变量的命名、库函数的用法等等。有些库函数是经常用到的。对于这些函数的用法就要牢牢记住。二、要多动手 学习编程像练习搏击一样,是...

为什么现代编程语言支持更多的编程范式,这样更
通过反观过去半个世纪以来编程语言的进化方向,我认为编程语言绝对不会按照保罗.格雷厄姆所说,向着“小而干净”的方向进化。现在的编程语言,无论时功能上还是语法上都已经不是那样单纯了,虽然也曾经有人努力尝试将这些语言变得更小更简单,但包括保罗.格雷厄姆自己所设计的Arc在内,都决不能算是成功的...

编程语言的基础知识里,为什么要有好多规定字节多少到多少之间不能超过...
你家桌子就能放5个盘子,你非放上去6个,结果碎了一个。你还能找到那个完整的盘子吗?相当于数据丢失。后果很严重。。

学软件搞编程的是学会越多的高级语言越好,还是精通一两门语言好?
精通.回答很肯定.只要你精通任何一门语言..至少你可以在软件行业混个地位.而你会更多的语言而没一个像样的..估计你什么也干不了..除非你学过所有的语言都能达到精通..个人观点.仅供参考

为什么要学编程?
增强自学能力:编程语言和工具种类繁多,学习编程需要你不断学习和探索新的技术和知识。这有助于培养你的自学能力和终身学习的习惯。总之,学编程有很多好处,不仅可以提高你的技能和竞争力,还可以让你更好地适应未来的发展变化。如果你对科技和创新有兴趣,不妨尝试学习编程,看看它会给你带来什么样的...

2023年为什么要学Java编程语言
以上就是从Java本身语言的角度分析为什么要学Java编程语言,你清楚了吗?由此可见,Java岗位需求仍然呈现持续上升趋势,供不应求。抓住机遇,才是智者和能者的体现!因此,学互联网技术不能犹豫,否则你就和高薪擦肩而过了。不论你是0基础还是转行,都有大牛老师手把手教你学习最新热门技术,找一份自己...

编程到底是一门语言学精,还是多学几门语言
真正的重点是, 您想做甚麼. 想像一下在现实环境, 如果您在中国, 那您自然讲中文就好, 但如果您要去到外国, 那自然要讲当地的语言, 所以重点是, 您要到哪里去(想做甚麼).有一种精的, 绝对是好事, 因为您可以从精通某种语言的根基下, 触类旁通, 举一反三, 其实编程也就不过是数据型态, ...

编程语言这么多,为什么Python将成未来霸主
编程语言有很多种,比如常见的C,C++,Java,PHP,Javascript 和Python,但是为什么要选择Python?对于新手来说选择编程语言,需要考虑学习的成本以及应用场景,而Python从多角度来说都是非常合适的选择。1、语言简单友好:相对于其他编程语言来说,Python是非常容易上手的,跟英语一样简单易懂,一些复杂的概念...

...C++,JAVA这些经典并且用户很多的编程语言,为什么还有人学那些排名三...
现在主流语言 是 c\/c++, java ,c#,php,每个语言都有特定的应用领域 没有万能的语言,针对不同领域 当然要选用不同针对性 适合的 语言了

要想熟练使用一门编程语言至少需要多少行代码?
熟练一门编程语言,不是用写多少行代码来计算的,如果你花费时间长和精力大,学习的方法不得当的话,(如:只背代码,而不去真正的去理解程序)最终还是功亏一溃。想要熟练一门语言,多练,多写,切记,不要背别人现成的程序代码。要去理解着去看程序,这才是最重要的。如果像一楼的那人说的,学...

达日县18629428853: c语言编程为什么要多文件呢? -
捷绿左洛: 源代码确实是多文件的.不过编译好的目标代码在运行期调入内存后就无所谓文件的概念了,然而不同代码段之间的界限仍然存在. 模块化主要有以下几个优点: 1.便于复用代码.通用性强的重复的功能只要写一遍就可以了,下次要用在其它...

达日县18629428853: c语言工程为什么要多个文件来组成c程序? -
捷绿左洛: //project.c文件#include "intput.h" //输入#include "output.h" //输出#include <stdio.h> int main() { char buf[100] = '0'; int value = sizeof(buf); input(buf, value); //定义在input.h里面 output(buf); //定义在output.h里面 return 0; } //input.h文件#ifndef ...

达日县18629428853: C语言多文件编程 -
捷绿左洛: 多个c文件的作用在于将不同功能的代码分开来实现,这样便于代码重用、代码编译和代码管理. 一个程序中,只能有一个main函数,这是整个程序的起点和入口.如果其他人也实现了该函数,则必须要重新命名,然后在唯一的main函数中统...

达日县18629428853: C语言问题为什么我写好一个程序运行一下会出现多个文件?求解答 -
捷绿左洛: dwp是工程文件,一个工作空间里可以放多个工程.工程就是你写的可以运行的带main的程序的集合.idb和pdb都是database文件.就是存储一些这个项目的基本数据信息.具体内容是啥我也不太清楚.c是C语言文件.就是你编写的程序ncb好...

达日县18629428853: 用C语言编写的代码是一个 ? -
捷绿左洛: 1. 用C语言编写的代码可以是多个,多文件形式,可以存在多个源文件 2. 用C语言编写的代码生成的可执行文件是一个exe,说白一点就是一个程序 3. 用C语言编程的代码生成的软件,之间可以互相沟通交流的.就像TCP通信编程 4. 用C语言编程的代码,点击我头像,加群.更多精彩.

达日县18629428853: C语言问题:为什么我写好一个程序运行一下,我的桌面上就多了两个文件? -
捷绿左洛: 只要你不不运行程序,它就不会出现,据我所知,还没有哪个编译系统能直接运行你写好的代码,他们都经过了这样一个过程,编译程序后一运行的那一瞬间,系统就保存了两个文件,目标程序文件OBJ,再由OBJ生成应用程序EXE,如果你没有保存,他就会自动保存 至于出现在桌面上和文件名是NONAME,那是你保存路径,和文件名没设置好

达日县18629428853: C语言编写的程序只能放在一个程序文件里吗,如果不是,几个文件怎么联系到一起让这个C语言执行啊? -
捷绿左洛: 看你用什么IDE(开发工具)了! windows下,一般常用的是VC VS DEVC++等,这种工具下,建立一个工程,然后一个一个地添加文件到工程中,就可以了,编写完成后,编译运行就可以了,集成开发环境工具会自动将工程中的多个文件链接到一起,生成执行文件. linux下,只需要将编写好的各个文件用gcc(g++)命令连到一起编译就可以了,如: gcc -o prg_test test1.c test2.c 这 样就可以生成执行文件prg_test了.

达日县18629428853: 学C语言编程,为什么保存.c文件后,还生成了其它后缀的文件,如.dsw .png等等.可以不生成这样的文件吗? -
捷绿左洛: 这些都是工程文件,楼主只需关心.exe文件即可,等程序完工了,直接拷出.exe文件及相应的资源文件就可以了,其他都可以删除

达日县18629428853: C语言编译连接后生成那么多文件是什么 -
捷绿左洛: 不要把保存目录设为桌面,应该设置成一个单独的文件夹 在一开始创建的时候它会问你保存路径 一项工程有两种生成文件的方式: 一是DEBUG 这种文件可以方便调试,可以在具体行中设置断点,运行时对程序中各种变量进行观测 二是RELEASE 这种文件只能用来运行,不能用来调试 DEBUG文件夹所占硬盘存储空间大,开发过程中一般选择生成DEBUG文件 RELEASE文件夹占用空间小,最终开放版本给用户时选择用这种方式生成

达日县18629428853: 多文件编程为什么容易出错? -
捷绿左洛: 主要是因为头文件被重复包含了,例如:头文件Server.h 你在Server.cpp中包含了一样,然后在main.cpp中由于要使用Server类,所以要包含Server.h,如果没有做好措施,就出现你上面的情况:头文件被重复编译.解决的办法有二:一是通过定义宏:在.h文件中使用下面结构:#ifndef ___INCLUDE____SERVER_H____#define ___INCLUDE____SERVER_H____ ……(头文件实际内容)#endif 二是使用预编译指令(本质上和方法一其实是一样的):在每个h文件头一行写上:#pragma once 不过方法二需要编译器的支持.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网