2014-10-15 2 views
0

Что такое разностное между этим:Что такое различие между struct и typedef?

struct foo 
{ 
    ...... 
}; 

и

typedef struct foo 
{ 
    ...... 
}; 
+0

В этом случае за пределами дубликата [** здесь **] (http://stackoverflow.com/questions/1675351/typedef-struct-vs-struct-definitions) другое отличие - второй фрагмент не будет компилировать, так как нет псевдонима. – WhozCraig

+1

На самом деле это не дубликат http://stackoverflow.com/questions/612328/difference-between-struct-and-typedef-struct-in-c - 'struct' декларации ведут себя по-другому в C++, чем в C. –

+1

Объявление 'struct' определяет новый тип структуры. Объявление 'typedef' просто создает новое имя для существующего типа. Синтаксис позволяет объединить их в одно объявление. –

ответ

0

Первый объявляет тег структуры foo в то время как второй определить тип структуры foo.

+1

т. Е. В прежнем коде будет объявлен переменный бар как struct foo bar; в последнем это будет foo bar. – Claris

+0

Dowvoter помочь объяснить? – haccks