works:programmer:cpp:struct-type-definition

Как создать тип для структуры (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;
works/programmer/cpp/struct-type-definition.txt · Last modified: 2022/05/24 12:14 by Chugreev Eugene