LINUX.ORG.RU

Объявление структур в C


0

0

Как вы предпочитаете объявлять структуры в C?

struct point_t
{
    int x, y;
};

void point_add (struct point_t *p, struct point_t *dp);
typedef struct
{
    int x, y;
}
point_t;

void point_add (point_t *p, point_t *dp);
// C99
typedef struct node_t
{
    void *data;
    struct node_t *next;
}
node_t;

node_t* next_node (node_t *node);

Ответ на: комментарий от mannaz

>Ты такой ироничный

а ты такой смешной

>Уточнять в стандартах такие детали мне абсолютно не интересно

охотно верю :)

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

> а ты такой смешной

Бывает и такое

> охотно верю :)


Если это намек на нашу с тобой дискуссию, связанную со стандартом C++, то да - он банально есть под рукой, как и C99, в котором то, что мы обсуждали с tailgunner'ом ясно прописано. Интересовало немного другое и нужные ответы я уже получил.

mannaz
() автор топика
Ответ на: комментарий от mannaz

>И в чем же он, с твоей точки зрения, заключается?

в избыточной самоуверенности, жестокой и беспощадной

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

> в избыточной самоуверенности, жестокой и беспощадной

Я думаю, это поверхностное суждение. Как и у любого человека у меня есть определенные заблуждения и пробелы в знаниях. Я расстаюсь с ними легко.

mannaz
() автор топика
Ответ на: комментарий от tailgunner

> Имена типов вида *_t зарезервированы, вообще-то. А третий стиль не имеет отношения к C99.

не могли бы ссылку бросить? Нагуглил только резервирование имен, начинающихся с '_' или '__', а вот про суффикс '_t' ничего.

cruz7 ★★
()
Ответ на: комментарий от cruz7

Cтандарт C99, раздел 7.1.3 Reserved identifiers ничего не говорит о *_t. Хотелось бы, чтобы уважаемый tailgunner объяснился :)

cruz7 ★★
()

Не вижу никаких проблем с читаемостью в любом из способов. Сам пользуюсь 2-ым или 3-им.

UVV ★★★★★
()

typedef - ужаснах! Первый способ.

golodranez ★★★★
()
Ответ на: комментарий от cruz7

> Cтандарт C99, раздел 7.1.3 Reserved identifiers ничего не говорит о *_t

Это не С99, а что-то другое. X/Open или POSIX.

> Хотелось бы, чтобы уважаемый tailgunner объяснился :)

Я уже пару раз объяснялся здесь на эту тему :) Еще раз искать ссылку - лень.

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.