大家帮帮忙,全局变量为什么放在一个头文件里会编不过!该怎么处理

大家帮帮忙,全局变量为什么放在一个头文件里会编不过!

在   Linux   下如果像下面那样申明course,就可编得过
#include   <stdio.h>
char   *course[20];
main()
{
    prn_course(head);//这个函数要用到course中的数据,但又不想传course给它
}

而把char   *course[20]放在“myhead.h”中,就编不过了,说没有定义course
#include   “myhead.h”
main()
{
    prn_course(head);//这个函数要用到course中的数据,但又不想传course给它
}

------解决方案--------------------
static char *course[20];
------解决方案--------------------
放在一个头文件里会导致多次链接。将全局变量在在C或者CPP文件中。
------解决方案--------------------
放在一个头文件会重复定义,链接出信息的,呵呵^_^
------解决方案--------------------
在头文件中加入
#ifndef MYHEAD_H
#define MYHEAD_H

....

#endif

可以防止重复定义