是不是每个C语言程序都要头文件

是不是每个C语言程序都要头文件,第1张

也可以说是的。不过某些C语言编辑器在生成兄乱.o->.exe的整体过程中,默认的让C语言编辑器使用了少部分的通用函数库,比如你用dev写一个helloword,不需要写任何函数库,程序仍然能运行处正羡森档确的结果。另外是函数库的调用有 #include <stdio.h>和 #include “stdio.h”两种方法,通常情况下,用户没有自定义的stdio.h的文件时,#include <stdio.h>和 #include “stdio.h”的意义是相同的,但是用户自定义stdio.h后,#include <stdio.h>通常是编辑器默认stdio.h函数库,#include “stdio.h”通常是用户春粗自定义的stdio.h函数库。 两年多没用过C编辑器了,不是很清楚它了,lz可以查查具体情况,应该能找到。

这个不一定,要看情况。有些系统的头文件,乎判就没有对应的.c或.s文渣顷饥件。一般自己写的.c文件都要带一个.h头文件。当然这个也是为了代码如返结构和可读性。所以这个没有绝对性,自己玩的话,随自己喜好。工作上就要根据你的代码规范来写了。

预编译的时候会把包含的头文件展开,即把头文件里面的内容展开在当前文件中,如果包含所有头文件,第一会很占空间,液颂空因为有些头文件里面的变量(比如有很大的数组或者什么的)在当前这个文件并没有用到;其次很耗时间,因为要一个个去展开;第三,撇开时间和空间消耗不说,可能会存在不同头文件中声明或者定义了同名变量,这样在编译的时候就会报错。但是你却很难找到错误,因为头文件里面的东西你看不见,其次还可能引起一个重复包含的问题,比如头文件A.h包含了B.h,你在当前.c文件中如果#include"A.h" 后又#include"B.h"樱稿 的时候就会报错了,因为你重复包含了,当闹瞎然重复包含可以通过#ifdef#endif机制解决。但是你不能保证每个头文件中都做了这样的 *** 作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12191209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存