读书人

大家帮帮忙全局变量为什么放在一个头

发布时间: 2012-02-13 17:20:26 作者: rapoo

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

在 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

可以防止重复定义

读书人网 >C语言

热点推荐