【发布时间】:2017-11-21 02:29:32
【问题描述】:
例如下面的代码。我了解成员是什么,但是将结构作为成员让我感到困惑,我无法在任何地方找到它是如何工作的或那行代码的作用。请不要因为我试图理解而将我钉在十字架上。我搜索和搜索,我找不到答案。
struct point
{
int x;
int y;
};
struct rectangle
{
struct point upper_left; //how does this line of code operate
struct point lower_right; //and this line of code
};
【问题讨论】:
-
struct rectangle r; r.upper_left.x = 5; -
逻辑是避免重复。如果您没有
point结构,则必须有 4 个 int 成员,例如upleftX、upleftY、bottRightX、bottRightY。排除此重复因素将保留您的代码DRY。子结构实际上只存在于其父结构中。如果结构体大小需要它,除了它自己的大小和填充以保持字对齐之外,它没有大小损失(我相信它不需要)。 -
Struct inside struct的可能重复
-
我明白了,感谢您的反馈。我是stackoverflow的新手,所以下次我会听从你的建议。
标签: c