对于多文件处理的较大程序的问题。

magicleey1124 2010-06-13 10:11:30
想实现这个功能,对于一个项目想分成几个文件进行处理(模块化),比如function1.c function2.c function3.c以及他们各自的头文件 function1.h function2.h和function3.h,其中function1.c是main函数的入口文件。

其中要用到一个结构数组,function1.c和function2.c是对这个机构数组的不同操作,要求最后在function1中输出这个数组。


问题:
1。 这样的问题可以用我说的方式实现吗?
2。 如果可以,那这个结构数组应该在哪里定义?如果在function1里面定义,那他可以作为参数传到function2和3中吗?

对于多文件编程有些不太明白,望大家指导。
如果有什么地方没有说明白,还望提醒,先谢谢了!
...全文
63 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gz_qmc 2010-06-13
  • 打赏
  • 举报
回复
把定义的结构放到 xxx.h里
在function1.c中 #include "xxx.h"
在function2.c中 #include "xxx.h"
在function3.c中 #include "xxx.h"
..................
在functionn.c中 #include "xxx.h"


XXX.h里这样写
#include   "...."    //所有需要用到的库头文件
#if !defined _XXX_H_AAAAAAA_
#define _XXX_H_AAAAAAA_

//这里写上你的结构定义以及操作函数等的定义

#endif
cattycat 2010-06-13
  • 打赏
  • 举报
回复
c语言的话,得全局结构体数组了,在function1.c中定义该数组,在其他的.c中声明一下,用extern声明即可。
jbz001 2010-06-13
  • 打赏
  • 举报
回复
可以的,但是你得弄清权限。
yunyun1886358 2010-06-13
  • 打赏
  • 举报
回复
可以将结构体的定义放在单独的一个文件中。例如:
BasicDefine.h中,然后其他要用到定义的就包含这个文件就行了。例如,可以这样写:

//BasicDefine.h
#ifndef __BASIC_DEFINE_H__
#define __BASIC_DEFINE_H__

struct a
{

}

#endif
东莞某某某 2010-06-13
  • 打赏
  • 举报
回复
当然可以,但要注意include

2,定义到.h文件好些
  • 打赏
  • 举报
回复
可以的
随便定义到那个头文件中
在其他文件中,加上有结构数组的文件的预编译头就行

69,373

社区成员

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

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