
Python
- 105 ответов
- 0 вопросов
80
Вклад в тег
struct A var;
:struct A {
int x;
};
struct A a = {1};
typedef type type_alias;
/*
наиболее распространный вариант
type тут - это struct A { int x; }, type_alias - A
конечно, имена могли быть разными: typedef struct A { int x; } tA;
преимущество: при создании переменной можно писать просто:
A var;
*/
typedef struct A {
int x;
} A;
/*
Бессмысленная конструкция, которую компилятор проглотит, но выдаст варнинг
typedef тут бесполезен, т.к. типу не присвоено имя
переменную можно объявлять по-прежнему так: struct A var;
*/
typedef struct A {
int x;
};
/*
Работает, как первый вариант, создавая алиас, но сама структура остается анонимной, поэтому:
A var; - сработает
struct A var; - не стработает
*/
typedef struct {
int x;
} A;
typedef struct tagA {
int x;
struct tagA *pa;
} A;