大家帮帮忙,全局变量为什么放在一个头文件里会编不过!该怎么处理
大家帮帮忙,全局变量为什么放在一个头文件里会编不过!
在 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
可以防止重复定义
在 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
可以防止重复定义