社区
C语言
帖子详情
C分割代码
老鼠期待爱
2012-02-01 11:37:58
最近自己写代码的时候,老是对怎么分割代码出现问题,不知道对于一个程序,哪些东西该放在.c中,哪些该放在.h中,郁闷呢
...全文
160
17
打赏
收藏
C分割代码
最近自己写代码的时候,老是对怎么分割代码出现问题,不知道对于一个程序,哪些东西该放在.c中,哪些该放在.h中,郁闷呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
绿野耕夫
2012-02-03
打赏
举报
回复
我现在的理解是:.h是头文件,一般是供其余源文件引用的,或者说,是一个源文件导出给外部源文件使用的接口。比如说,现在有3个文件:a.h,a.c,b.c。其中,a.c里集合了一组解决相关问题的函数(建议把相关问题的函数集中到一个.c文件中),而a.h则相当于a.c的接口,b.c包含了a.h,表明要使用a.c里的解决方案。
因此,a.h里应该包含以下内容:
1. 其余源文件要调用的函数原型声明
2. 其余源文件要使用的全局变量extern声明和数据类型定义
3. 其余源文件要使用的宏定义
a.c里则是如下内容:
1. 本源文件内部私用函数原型声明,在函数名前加static以确保不被外部源文件调用
2. 本源文件内部私用宏定义
3. 本源文件私有全局变量声明,变量名前加static以确保不被外部源文件引用
4. 共用全局变量声明,(对应a.h里的第2项,实际是,在源文件中声明了全局变量,在头文件中用extern导出给外部源文件使用)
5. 内部私有函数定义
6. 全局函数定义
灼眼的超哥
2012-02-03
打赏
举报
回复
[Quote=引用 4 楼 programmingring 的回复:]
。。一般.H不是放函数声明的嘛,实现在.c
[/Quote]
.H里也可以放结构体声明,宏定义,被extern的全局变量。
zhongjilei
2012-02-03
打赏
举报
回复
一般对外的接口、变量、宏定义放到头文件中,接口实现、内部函数、内部变量等放到源文件中
ProgrammingRing
2012-02-01
打赏
举报
回复
。。一般.H不是放函数声明的嘛,实现在.c
qq120848369
2012-02-01
打赏
举报
回复
每个学C语言的同学都将经历这个阶段,多看书去自己理解.
sagegz
2012-02-01
打赏
举报
回复
你只要知道哪些放在头文件中就可以了
头文件常包含的内容:
函数原型
使用#define或const定义的符号常量
结构声明
类声明
模板声明
inline函数
面包大师
2012-02-01
打赏
举报
回复
这个不用很纠结吧,你把一些定义啊什么的放在头里边就好了
pp25210
2012-02-01
打赏
举报
回复
借鉴了,目前还没有遇到这个问题
AnYidan
2012-02-01
打赏
举报
回复
多体会别人的代码
赵4老师
2012-02-01
打赏
举报
回复
个人意见:代码不超过1000行不必考虑此问题。
Naugineer
2012-02-01
打赏
举报
回复
在学校里面接触的大多数都是单文件的项目,事实上,即使没有头文件,所有的定义都放在.c文件中,基本也没问题。但是当你需要推进大的项目的话,需要切割成20多个.c文件的话,这个时候头文件见很好了。所以我建议你,不要把想法放在头文件和.c文件的切割,而是放在不同.c文件的切割,模块的划分。当然这些都只有在大的项目中才有的。
pl_sunniwell
2012-02-01
打赏
举报
回复
多看看完整的项目代码自然而然就有感觉了,写代码 需要感觉
WYJXHL97
2012-02-01
打赏
举报
回复
.h中一般都是声明,宏,结构体定义,头文件包含等等
.c中就是代码实现了........
luciddle
2012-02-01
打赏
举报
回复
找几个类似的例子,看看就总结出来了
hyd034
2012-02-01
打赏
举报
回复
多想想
.h一般给其他调用的文件使用(对外接口)
.c内部实现
还有就是独立的模块可以单独写个.c.h (做个库)
使用c语言实现基于图的图像
分割
代码
本
代码
在visual c++上运行,实现了基于图的图像
分割
。
任意文件
分割
C语言程序源
代码
任意同型文件
分割
C语言程序源
代码
编译环境为VC6.0 其原理用到文件相关的函数 使用时输入要路径、文件名及
分割
后两个文件的路径文件名即可完成
分割
机器学习之决策树理论与
代码
实践
详细讲解决策树(ID3,C4.5,CART)的数学推导过程,能够使用原生
代码
完成决策树
代码
的编写。能够调用sklearn库完成决策树
代码
的编写。能够可视化生成的决策树。能够使用决策树完成鸢尾花数据分类任务。
黄金
分割
法c语言源
代码
#include"stdio.h" #include"math.h" #define E 0.00000012 void main() { double x[2]={1,1},F[2],esp,a; int n=0;
用C语言实现视频
分割
很实用的c语言
代码
,资源文件齐全,可以实现数字视频文件的
分割
。
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章