[solved] Зачем в C такие typedef'ы?

doublemother

Постоянно в C встречаю вот такие конструкции:
typedef struct _GSList GSList;
struct _GSList
{
...
};

Вплоть до того, что для базовых типов я такое же видел. Зачем такое нужно, почему не написать сразу struct GSList {...}; ?

Dasar

Постоянно в C встречаю вот такие конструкции:
потому что в каких-то диалектах C: имена "struct GSList" и "GSList" не одно и тоже.
и если так не делать, то во всем коде придется писать "struct GSList x;" вместо "GSList x"

Helga87

например, потому что, если ты напишешь просто struct GSList, то в C (а не С++ тебе придется везде писать struct GSList, а не просто GSList? Ну т.е.

struct GSList * lala = (struct GSList*)malloc(sizeof(struct GSList;

doublemother

Данке, вопрос исчерпан :)

procenkotanya

потому что в каких-то диалектах C: имена "struct GSList" и "GSList" не одно и тоже.
скорее наоборот, в каких-то диалектах они может и одно и то же, но в стандарте языка — нет
Оставить комментарий
Имя или ник:
Комментарий: