Можем ли мы использовать объекты одной структуры в качестве членов другой структуры или объединения? - PullRequest
0 голосов
/ 26 ноября 2010

Можем ли мы использовать объекты одной структуры в качестве членов другой структуры или объединения?

Ответы [ 4 ]

2 голосов
/ 26 ноября 2010

Да, конечно:

struct address {
    char street[100];
    int number;
};

struct people {
    char name[100];
    struct address addr;
};
2 голосов
/ 26 ноября 2010

Да, конечно. Структуры являются типами, и поля структур могут иметь любой допустимый тип:

struct Point
{
  int x, y;
};

struct Rectangle
{
 struct Point top_left;
 struct Point bottom_right;
};

Это очень просто, и откуда С получает много своих выразительных способностей.

1 голос
/ 26 ноября 2010

Да, вы можете. Короткий вопрос - короткий ответ:)

0 голосов
/ 26 ноября 2010

Да. Пример:

typedef struct MyStruct1
{
  int a;
  float b;
}MyStruct;

typedef struct AnotherStruct
{
  int number;
  MyStruct m_field2;
}AnotherStruct;

int main()
{
  AnotherStruct obj1;
  obj1.number = 10;
  obj1.m_field2.a = 10;
  obj1.m_field2.b = 34.43;
  return 0;
}
...