C语言关于外部文件调用结构体变量的问题,急求
1、定义一个学生结构体STUD(包括姓名、年龄、成绩(float型))变量,请在程序中通过用户输入并输出结果。数据输入要求在fun1函数中实现,输出在函数fun2中实现。...
1、定义一个学生结构体STUD(包括姓名、年龄、成绩(float型))变量,请在程序中通过用户输入并输出结果。数据输入要求在fun1函数中实现,输出在函数fun2中实现。函数原型如下:void fun1( STUD * ps);
voidfun2( STUD ps);
编写的包含main函数的源程序以ex703.c命名,fun1函数在ex703-1.c中实现,fun2函数在ex703-2.c中实现。
原题中三个文件名的后缀是.cpp 展开
voidfun2( STUD ps);
编写的包含main函数的源程序以ex703.c命名,fun1函数在ex703-1.c中实现,fun2函数在ex703-2.c中实现。
原题中三个文件名的后缀是.cpp 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)+提问者悬赏50(财富值+成长值)
推荐于2018-03-14
展开全部
最终的答案我已经找到:
/******************************************************/
//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 的成员
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在-1 -2文件用extern STUD 就行了
更多追问追答
追问
不行啊,这样写还是报错。主函数文件:typedef struct student{……}STUD;另外两个文件都加上了extern STDU;还是报错,显示结构体不能用。
追答
。。。当然。。。只有声明 没定义怎么能行 对STDU进行定义
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询