主函数中定义的结构体怎样才能在主函数外的函数中使用

#include<stdio.h>main(){structa{inti;}b={1};structaf(structab);b=f(b);}structaf(struc... #include <stdio.h>
main()
{
struct a{
int i;
}b={1};
struct a f(struct a b);
b=f(b);
}
struct a f(struct a b)
{
b.i++;
return b;
}
VC++编译出错
展开
 我来答
White_MouseYBZ
推荐于2017-10-09 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6649万
展开全部
什么叫在主函数中定义在主函数之外使用?如果指的是在外函数中作为数据结构引用,那是做不到的,这是C/C++的基本结构决定的,也是基本常识;因为主函数也是函数,在函数中定义的结构体是局部性质,只能在定义它的主函数中可见。如果是主函数调用的某个函数使用,那就把结构体当作实参传给被调函数就行了——但这不叫在外函数中使用,实质是在主函数中使用;而且,被调函数必须要有相同的结构体类型变量来接收,那“相同的结构体类型”,还得在主函数外定义,这实在是得不偿失,用个指针什么都解决了。
帐号已注销
2013-12-29 · TA获得超过409个赞
知道答主
回答量:80
采纳率:0%
帮助的人:27.5万
展开全部
将结构体的定义放在main之前,作为当前文件的全局类型,这样就可以在本文件中的所有函数中方便使用
追问
如果在mian里写在外面一定用不了吗?
追答
以我目前的只是水平,我觉得是用不了的,从代码的结构上来说,那样写比较好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式