typedef struct{
int x,y,img;
}ch_t;
でch_tという名前のx,y,imgができあがるって書いてあるんですがch.x、ch.yとプログラムにはあるのはどうしてでしょうか?
さらにch_t ch;というのはどういう意味でしょうか?
typedef struct{
int x, y, img;
}ch_t;
というのは、
struct ch_t{
int x, y, img
};
とほぼ同じで新しい"型"(intやdoubleの仲間)を創ります。
前者で作り出される型の名前は"ch_t"、後者では"struct ch_t"となります。
前者の場合ch_tは型の名前なので、
ch_t ch;
とすることでch_t型の変数chを宣言できます。
ch_t型は内容物としてint型の変数x, y, imgを持っています。
ch.xとはch_t型である変数chの持っている変数xの意味です。
構造体を自分で定義してみたりすると、もっと見通しのよい理解が得られると思います。