主函数中定义的结构体怎样才能在主函数外的函数中使用#include main(){struct a{int i;}b={1};struct a f(struct a b);b=f(b);}struct a f(struct a b){b.i++;\x05return b;}VC++编译出错

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 13:27:52
主函数中定义的结构体怎样才能在主函数外的函数中使用#include main(){struct a{int i;}b={1};struct a f(struct a b);b=f(b);}struct a f(struct a b){b.i++;\x05return b;}VC++编译出错

主函数中定义的结构体怎样才能在主函数外的函数中使用#include main(){struct a{int i;}b={1};struct a f(struct a b);b=f(b);}struct a f(struct a b){b.i++;\x05return b;}VC++编译出错
主函数中定义的结构体怎样才能在主函数外的函数中使用
#include
main()
{
struct a{
int i;
}b={1};
struct a f(struct a b);
b=f(b);
}
struct a f(struct a b)
{
b.i++;
\x05return b;
}
VC++编译出错

主函数中定义的结构体怎样才能在主函数外的函数中使用#include main(){struct a{int i;}b={1};struct a f(struct a b);b=f(b);}struct a f(struct a b){b.i++;\x05return b;}VC++编译出错
什么叫在主函数中定义在主函数之外使用?如果指的是在外函数中作为数据结构引用,那是做不到的,这是C/C++的基本结构决定的,也是基本常识;因为主函数也是函数,在函数中定义的结构体是局部性质,只能在定义它的主函数中可见.如果是主函数调用的某个函数使用,那就把结构体当作实参传给被调函数就行了——但这不叫在外函数中使用,实质是在主函数中使用;而且,被调函数必须要有相同的结构体类型变量来接收,那“相同的结构体类型”,还得在主函数外定义,这实在是得不偿失,用个指针什么都解决了.