【C言語入門】
構造体を指すポインタと
アロー演算子の使い方

■単純な構造体メンバの参照

#include <stdio.h>
typedef struct {
    int     R赤;
    int     G緑;
    int     B青;
} 構造体枠_t;

//構造体変数の宣言と初期化 
構造体枠_t  構造体変数三原色 ={
    .R赤 = 0x10,
    .G緑 = 0x20,
    .B青 = 0x30
};
int main(void){
    printf("R = %02x\n",構造体変数三原色.R赤);
    printf("G = %02x\n",構造体変数三原色.G緑);
    printf("B = %02x\n",構造体変数三原色.B青);
}

構造体ポインタと間接演算子 *

#include <stdio.h>
typedef struct {
    int     R赤;
    int     G緑;
    int     B青;
} 構造体枠_t;

//構造体変数の宣言と初期化 
構造体枠_t  構造体変数三原色 ={
    .R赤 = 0x10,
    .G緑 = 0x20,
    .B青 = 0x30
};
int main(void){
    構造体枠_t  *ptr = &構造体変数三原色;
    printf("R = %02x\n",(*ptr).R赤);
    printf("G = %02x\n",(*ptr).G緑);
    printf("B = %02x\n",(*ptr).B青);
}

読みにくいのでこのスタイルは通常使用されません。

構造体ポインタとアロー演算子 ->

#include <stdio.h>
typedef struct {
    int     R赤;
    int     G緑;
    int     B青;
} 構造体枠_t;

//構造体変数の宣言と初期化 
構造体枠_t  構造体変数三原色 ={
    .R赤 = 0x10,
    .G緑 = 0x20,
    .B青 = 0x30
};
int main(void){
    構造体枠_t  *ptr = &構造体変数三原色;
    printf("R = %02x\n",ptr->B青);
    printf("G = %02x\n",ptr->G緑);
    printf("B = %02x\n",ptr->B青);
}

「構造体ポインタの指す先のメンバ」と
自然に読めるので通常このスタイルが使われます。