ああ、もうソースが消えてるわ。
main 側はまだ見てなかったわ。

main 側では struct lines *p; として
add_line(num, &p); という形にすることになるはず。

>あと、もう一つなのですが・・・値を返す用のの引数とは
>関数の動作に必要な引数の他に、値をもらう用のポインタ変数を
>用意するということでしょうか??
そうなる。