C语言关于外部文件调用结构体变量的问题,急求
答案:2 悬赏:60 手机版
解决时间 2021-11-10 11:31
- 提问者网友:沉默的哀伤
- 2021-11-09 16:08
C语言关于外部文件调用结构体变量的问题,急求
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-11-09 17:40
在-1 -2文件用extern STUD 就行了追问不行啊,这样写还是报错。主函数文件:typedef struct student{……}STUD;另外两个文件都加上了extern STDU;还是报错,显示结构体不能用。追答。。。当然。。。只有声明 没定义怎么能行 对STDU进行定义比如STDU a;然后在 另外得文件用extern STDU a;追问那这样这道题怎么写呀?我可以在主函数里定义ps和*ps么?追答没分 没动力 有分就帮你写一下追问50分了,够不?不够还可以再加。不过我没剩多少分了。追答一下班就忘了这岔了 ,注意.CPP是C++文件 得用C++的编译器编译
全部回答
- 1楼网友:旧脸谱
- 2021-11-09 18:08
最终的答案我已经找到:
//file: head.h
struct test
{ int i;
char j;
}; // 这里不能定义任何变量,因为头文件被许多文件包含,会出现重复定义
extern struct test *right; // 申明结构体变量 right 在其它文件中定义
//file: use.c
struct test *right; // 在这里将 right 定义为全局变量
//file: other.c
#include "head.h" // 只要将头文件包含进去,任何文件都可以调用 right;
void over()
{ printf("%c",right->j); // 直接调用结构体变量 right 的成员
}
//file: head.h
struct test
{ int i;
char j;
}; // 这里不能定义任何变量,因为头文件被许多文件包含,会出现重复定义
extern struct test *right; // 申明结构体变量 right 在其它文件中定义
//file: use.c
struct test *right; // 在这里将 right 定义为全局变量
//file: other.c
#include "head.h" // 只要将头文件包含进去,任何文件都可以调用 right;
void over()
{ printf("%c",right->j); // 直接调用结构体变量 right 的成员
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯