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の意味です。 構造体を自分で定義してみたりすると、もっと見通しのよい理解が得られると思います。