C分割代码

老鼠期待爱 2012-02-01 11:37:58
最近自己写代码的时候,老是对怎么分割代码出现问题,不知道对于一个程序,哪些东西该放在.c中,哪些该放在.h中,郁闷呢
...全文
160 17 打赏 收藏 转发到动态 举报
写回复
用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 (做个库)


69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧