【发布时间】:2015-12-22 02:54:07
【问题描述】:
为什么要在主函数之外定义结构以便其他函数能够接收它们?我理解this answer,但是为什么在 main 函数中声明的普通变量(例如 int 和 float)可以用作函数的参数而不是 main 中定义的结构?
(PS:我问这个问题是因为我还没有足够的声誉来发表评论!)
【问题讨论】:
-
当您说“结构”时,您是在谈论一种类型(用
struct thingy {...stuff...};定义),还是在谈论这种类型的变量(用struct thingy myThingy;定义?) -
我指的是接收结构实例的函数 - 即具有该类型的变量。
-
那么“如果
main中定义的变量具有结构类型,为什么不能将它们传递给其他函数?”?答案是你可以! -
或者,如果您考虑在
main中声明 type:差异的原因本质上是int和float不是在函数内部声明。 (就像在任何函数之外声明的结构类型)
标签: c function struct scope structure