みてないけど >>728 の第一引数は 引数の書き換え結果を呼び出し元に伝えたいケースなんじゃないの?

int の値を受けて その値の1大きい値を返す

引数で受けて書き換え結果を戻り値で返すなら
 int func0(int arg) { return arg + 1; }

引数で受けて、引数の指し先を書き換えることで書き換え結果を呼び出し元に伝える
 void func1(int* arg) { *arg = (*arg)+1; }

※ なお Cには参照型というのがないので
※ void func2(int arg) { arg = arg+1; } としても呼び出し元には 1増えた値が伝わらない
int a = 1;
a = func0(a); printf("%d\n", a); // a = 2 となる
func1(&a); printf("%d\n", a); // a = 3 となる
func2(a);  printf("%d\n", a); // a = 3 のまま