引数って言葉に騙されているだけだな。
関数に渡す変数の値、て覚えときゃ十分。

また、関数は通常は1つの値しか返せないので、2つ以上返す場合は
ポインタ変数で渡す必要がある。

a = 4; b = 7;
x = sum(a,b); // x = 7

int sum(int a,int b) { return a+b; }

swap(&a,&b); // aとbの値を交換する。
void swap(int *p,int *q) { int tmp = *p; *p = *q; *q = tmp; }

うえの2つの違いが分かったらポインタも同時にばっちしです。