格言:関数へ渡す引数は構造体にまとめるな!
理由:初期化漏れが出る。

例)
void func(int x, int y, int c);
void sample(){ func(1, 2);}
-> コンパイラが引数が足りない事を発見してくれる。

typedef struct {int x, y, c;} param;
void func(param *p);
void sample(){param p; p.x = 1, p.x = 2; func(&p);}
-> コンパイラには初期化漏れが分からない。