Различие между “нечто структуры*” и “нечто*”, где нечто является структурой?

Спасибо всем !! Это то, что исправило мою проблему. Я знаю, что это было очень новичком и ценю вашу помощь!

<a style="text-decoration:none"><span style="color:#15BECE">Unsubscribe</span></a> from email communications</p>
6
задан Mehrdad Afshari 9 January 2009 в 12:21
поделиться

4 ответа

На самом деле в стандарте "C" это требуется, чтобы указывать struct ключевое слово. Это является дополнительным в C++.

Это - причина, некоторые люди определяют структуры как это:

typedef struct foo { ... } bar;

смочь использовать bar вместо struct foo. Однако некоторые компиляторы C не осуществляют это правило.

11
ответ дан 8 December 2019 в 13:50
поделиться

Да. В C (в противоположность C++), структуры находятся в своем собственном пространстве имен. Таким образом, если Вы определили a

struct sockaddr { ... }

Вы не можете использовать его как

sockaddr s;
sockaddr *ps;

Для создания этого законным, можно использовать определение типа для импорта в пространство имен неструктуры имен типов:

typedef struct sockaddr { ... } sockaddr;
sockaddr s, *p;
6
ответ дан 8 December 2019 в 13:50
поделиться

Можно использовать просто "нечто" если Вы определение типа это.

0
ответ дан 8 December 2019 в 13:50
поделиться

Это зависит от того, как структура определяется. Если это определяется с помощью определения типа, Вы не должны помещать stuct ключевое слово впереди.

typedef struct 
{
//
} aStruct;

aStruct abc;

но если не определение типа Вам нужно ключевое слово структуры.

struct aStruct
{
//
} ;

struct aStruct abc;
0
ответ дан 8 December 2019 в 13:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: