====== Как создать тип для структуры (C struct) ======
Обычная простая структура С и как её использовать.
// простая структура
struct MyStruct {
int a;
int b;
};
// Используется как
struct MyStruct ab;
ab.a = 5;
А теперь выявляем её тип, для упрощения кода.
// Выявление типа
typedef struct MyStruct TMyStruct;
typedef struct MyStruct *PMyStruct;
// Используется как
TMyStruct myStruct;
PMyStruct myStructPtr = &myStruct;
myStruct.a = 5;
myStructPtr->b = 8;
А теперь выкидываем оба способа сверху и объединяем их в одно выражение.
// typedef struct одним выражением.
// в данном примере слово `MyStruct` можно даже не выявлять, будет анонимка с двумя типами.
typedef struct MyStruct {
int a;
int b;
} TMyStruct, *PMyStruct;
// Использование
TMyStruct myStruct;
PMyStruct myStructPtr = &myStruct;
myStruct.a = 5;
myStructPtr->b = 8;