c/c++开发分享在main()或main()之外声明结构的位置?

案例1:main()之外声明的结构正常工作

 #include #include struct prod { int price,usold; }; int main() { struct prod *p,a; int billamt(struct prod *); int bill; printf("enter the values n"); scanf("%d%d",&p->price,&p->usold); bill=billamt(p); printf("bill=%d",bill); getch(); } int billamt(struct prod *i) { int b; b=(i->price*i->usold); return b; } 

情况2:main()内部声明给出错误

[错误]输入’main():: prod’,没有用于通过链接[-fpermissive] *声明函数’int billamt(main():: prod *)’的链接

 #include #include int main() { struct prod { int price,usold; }; struct prod *p,a; int billamt(struct prod *); int bill; printf("enter the values n"); scanf("%d%d",&p->price,&p->usold); bill=billamt(p); printf("bill=%d",bill); getch(); } int billamt(struct prod *i) { int b; b=(i->price*i->usold); return b; } 

    main()main()之外声明结构的位置?

    它必须关于作用域 ,当你在main函数中定义结构时,它只在main函数的范围内定义,所以billamt函数无法知道它。

    结构是一个类似的数组,只有Array的主要区别只能包含相同类型的值,但结构可以有不同类型的值,所以如果你需要全局实现结构(全局意味着它也可以在任何其他函数中使用)在main之外定义它,如果你只想在main函数中使用你的结构,在它里面定义它。 快乐编码:-)

      以上就是c/c++开发分享在main()或main()之外声明结构的位置?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(猴子技术宅)。

      本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ssfiction.com/c-cyuyankaifa/545803.html

      发表评论

      电子邮件地址不会被公开。 必填项已用*标注