>>276
>mystrcatが先頭アドレスを指すポインタって事だろへっへっへ

mystrcat()は関数だよ。

>while(*out++);はアドレスを最後まで進める意味だろへっへっへ

Cでは0でない値は真。0が偽。
アドレスを最後まで進めるのは間違いで、この場合ヌル文字(ヌル文字の値は0)まで進めるっていう意味だな。
++(後置インクリメント)演算子が付いているので、真でも偽でも型のサイズだけ(ここ重要)outのアドレスを進める。

>*retは漏れも分かんないお・・・多分エラー対処だろへっへっへ

char *ret = out; /* retにoutのアドレスを代入. */
strcat(3)の仕様上第一引数の先頭アドレスを返すことになってるんだよ。
while (*out++)とかしたらoutのアドレスが変わってしまうだろ?
だからあらかじめ値をコピーしておくんだよ。