起初,只是感觉到上一篇那样包含func.c很不干净,感觉不舒服。和弟弟讨论,对gcc也不熟,vc是很容易改的,gcc不灵。
看了这位作者“梦醒”的文章茅塞顿开:
http://blog.sina.com.cn/s/blog_7c7b50f10101fbaq.html
非常感谢。
最后那段抄一下:
(1) 对应的.c文件中写变量、函数的定义
(2) 对应的.h文件中写变量、函数的声明
(3) 如果有数据类型的定义和宏定义 ,请写的头文件(.h)中
(4) 头文件中一定加上#ifndef...#define....#endif之类的防止重包含的语句
(5) 模块的.c文件中别忘包含自己的.h文件
所以我这里上一篇文章中的小程序要这样改:
main.c
#include <stdio.h>
#include "a.h"
extern struct cps student;
int main()
{
printf("Hello world!\n");
input();
pw(student.name);
printf("age:%d, score:%lf!\n", student.age, student.score);
return 0;
}
a.h
#ifndef A_H_INCLUDED
#define A_H_INCLUDED
s

本文介绍了在GCC C语言项目中如何避免直接包含.c文件,而是通过头文件(.h)来组织代码。强调了在.c文件中定义变量和函数,在.h文件中声明,并使用#ifndef...#define...#endif防止头文件重复包含。通过示例说明了如何在main.c中使用extern关键字引用外部全局变量,并在对应的头文件中定义结构体。总结了包含.c文件可能导致的问题和正确的组织代码方式。
最低0.47元/天 解锁文章
551

被折叠的 条评论
为什么被折叠?



