作为另一个结构成员的结构如何在逻辑上起作用?

时间:2017-11-21 02:29:33

标签: c

例如下面的代码。我理解成员是什么,但是有一个结构作为成员让我困惑,我无法找到它的工作原理或代码行的作用。请不要因为试图理解而将我钉在十字架上。我搜索和搜索,我无法找到答案。

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
};

2 个答案:

答案 0 :(得分:2)

结构矩形包含两个变量(结构变量),它们代表两个点,即左上角和右下角,它们将形成矩形。由于该点由两个坐标xy组成,因此您创建了一个结构变量point,它具有两个值,即x和{{1}坐标。

现在让我们来看看。

y

所以在这里,它被解释为这样。

struct rectangle rect1 = {{3,4}, {10,11}};

更进一步

rect1.upper_left = {3,4}

实际上它被指定为

 upper_left.x = 3;
 upper_left.y = 4;

同样适用于rect1.upper_left.x = 3; rect1.upper_left.y = 4; 成员。

答案 1 :(得分:2)

这是struct rectangle rect1 = {{3,4}, {10,11}};

的图形表示

实际上蓝色矩形内的东西正在耗尽内存,而它外面的填充区域没有耗尽内存,但我在图中以这种方式绘制它以留下名称标签的空间。