C结构数组问题
StructTest.h----------------------------
#ifndef STRUCTTEST_H
#define STRUCTTEST_H
#define MAXSIZE 20
struct struct_test
{
int num;
}ST[MAXSIZE];
#endif
fuc1.h
-----------------------------
#ifndef FUC1_H
#define FUC1_H
void fuc1();
#endif
fuc2.h
-------------------------------
#ifndef FUC2_H
#define FUC2_H
void fuc2();
#endif
fuc1.c
------------------------------
#include "fuc1.h"
#include "StructTest.h"
void fuc1()
{
int i ;
for(i=0;i<MAXSIZE;i++)
{
ST[i].num=i+1;
}
}
fuc2.c
------------------------------
#include "fuc2.h"
#include "StructTest.h"
#include <stdio.h>
void fuc2()
{
int i ;
for(i=0;i<MAXSIZE;i++)
{
printf("%-4d",ST[i].num);
if(i%5==0)
printf("\n");
}
}
main.c
-------------------------------
#include "fuc1.h"
#include "fuc2.h"
int main()
{
fuc1();
fuc2();
return 0;
}
把所有这些代码都放到一个源文件里编译连接都没问题,能正常运行。但是考虑到要学习模块化设计的原则,打算分开写;但是分开以后就会出问题,提示说的是结构数组重复定义了的意思。VC6.0编译器,捣鼓了好久还木有结果,求各位大虾指点一二。