Различные типы структур - PullRequest
       4

Различные типы структур

0 голосов
/ 21 февраля 2012

Я знаю разницу между struct и struct с ключевым словом typedef впереди.Ссылка такова: typedef struct vs struct определений

struct myStruct{
    int one;
    int two;
};

против

typedef struct{
    int one;
    int two;
}myStruct;

Но какова разница между этими двумя типами:

struct point {
   int x;
   int y;
};

против

struct point {
   int x;
   int y;
} my_point;

Еще один:

    typedef struct set_t{    
      int count;
      void **values;
   } *SetRef;

что это за тип?

Ответы [ 5 ]

2 голосов
/ 21 февраля 2012

my_point - это переменная типа struct point.

2 голосов
/ 21 февраля 2012
struct point { int x; int y; };

Это объявляет новый тип struct point с двумя int членами x и y.

struct point { int x; int y; } my_point;

Здесь также объявляется новый тип struct point с двумя int членами x и y, и это объявляет объект my_point типа struct point.

1 голос
/ 21 февраля 2012

Первый только объявляет структуру. Вы должны будете использовать это позже, чтобы создать объект позже. Второй объявляет структуру и объект одновременно.

1 голос
/ 21 февраля 2012

Во втором вы также определяете переменную (названную my_point) из типа struct point.

1 голос
/ 21 февраля 2012

Первый объявляет тип struct, а второй объявляет как тип, так и экземпляр my_point.Другими словами, my_point - это не тип, а фактический экземпляр struct point.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...