c语言为什么要分文件
A. 在C语言中“ 文件”是用来干什么的
文件是专门用来存放数据的,对于一个C程序,你可以从键盘输入数据,可以向屏幕输出数所。但如果,你想处理一个成绩表,而成绩表存在一个记事本里面,而你又不想将数据一个一个的输进去,这时你就可以用文件操作语句,打开存着成绩表的记事本,然后将成绩表中的数据用相应的语句传给C语言中的变量,然后再进行运算处理。当然,记事本中的数据格式,要与你C语言中的操作语句相匹配。
B. C语言中,为什么函数头和函数体分属不同的文件呢
可能是理解有误吧。人家说的是函数不能分解到两个文件中,例如函数头和函数体分属不同的文件就是属于分解到两个文件的情况
C. 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 INPUT_H
#define INPUT_H
char tmp[100] = 0;
int input(char *buf, int size);
#endif
//output.c文件
#include <stdio.h>
#include "output.h"
int input(char *buf, int size)
{
scanf(%s, tmp);
if (buf != NULL)
{
int i = 0;
for( ; i < size; i++)
{
buf[i] = tmp[i];
}
}
return 0;
}
//output.h文件
#ifndef OUTPUT_H
#define OUTPUT_H
int output(char *buf);
#endif
//output.c文件
#include <stdio.h>
#include "output.h"
int output(char *buf)
{
printf("%s\n", buf);
return 0;
}
我这里有5个文件构成了一个C程序(我没有调试哈),这个就是一个小的工程。一个工程或工作区是便于管理这些文件,容易读写,而且编译器在编译的时候优先在里面找文件。
“我听说什么创建了工程,之后写c程序就没法运行了”,没读懂什么意思,程序通常从main开始执行,当然你的工程里如果多了一个C文件,若再多一个main函数的话就错误了撒。
不知道我回答的对不对的上你的问题。哈哈
D. c语言程序中为什么要分头文件和主文件
方便管理
C文件实现
头文件定义变量和声明
这样头文件可以被多个C文件引用而不会出问题
方便代码重用,减少问题,降低维护难度。
E. C语言中为什么要头文件和源文件分开写
c语言中头文件和源文件不在同一文件夹也可以的,引用中加入头文件的绝对路径就可以。这里在“F:/代码”下新建一个头文件1.h,内容是“inta=10”,在其它目录新建cpp文件,如下:#include#include"F:/代码/1.h"//引用1.h文件voidmain(){intb=10
F. C++中为什么要头文件和源文件分开写呢
一般都是代表一个基本功能的源文件引用相应的头文件。 一个 相关功能的模块可能有若干对源文件和头文件组成。这是基于组件编程的核心。 在我看来,他的好处是巨大的,是java不可比拟的,也是不可复制的: c语言中头文件中一般定义了函数的声明、结构体的定义、宏定义。(常量和全局变量最好放到源文件中) 1) 从业务扩展性上看:头文件中放函数的声明,函数由源文件实现,这就是将面向接口编程:接口和实现分开,这在面对业务变更频繁的需求中技术实现的好处是显而易见的--只要定义出良好地、扩展性高的接口,实现是可以很方便的更换。 2) 从程序架构上看:代码在在大型程序中 需要分成不同的模块,单一模块中又可能分为不同的业务功能单元,他们间有很多相互的调用。 头文件中的方法声明、结构体定义、宏就都可以充当这部分的模块与模块间、业务功能单位间的接口调用。模块与模块间,功能单元与功能单元间都是面向接口的调用,耦合性低,这正是基于组件编程的核心思想。 3) 从某些技术角度实现上看:头文件可通过宏定义来保证类定义、结构体定义、宏定义的唯一性。确实很方便,不容易出错。 在用makefile编译程序时,各个功能单元单独编译,构成中间文件.最终这些中间文件链接成可执行程序,在这些中间文件中重复引用同一头文件是不可避免的。但如果头文件有保护性编程就可以很容易保证类、结构体、宏定义的唯一性 ----最终链接成可执行程序时,可执行程序中代码区中只会有唯一的类、结构体、宏的定义,其他都因为不满足唯一性保护失效。这样的实现是不是很‘优雅’:)))? 我不知道你是否是这样认为,至于我,我是这样认为,haha~
G. C语言,用一个库,比如OpenSSL的时候,为什么要分静态库和头文件呢。有
就像开车,没方向盘,没油门,不管怎样的司机都没法把车开起来。但是只有方向盘和油门,没有轮子和发动机,车也不可能开起来。
库文件就像轮子和发动机,没有它,库就是空壳而已,动不起来。但是只有轮子和发动机,也是不能用的,要让它在合适的地方动起来,按自己的想法行动,到达自己想要的目的,就要包含头文件,然后用头文件提供的功能控制它的行动