お世話になります。
下記のように、仮引数のポインタ変数(p)を関数内で作業用に使っても問題ないでしょうか。
少々抵抗があるのですが、こんなことはしちゃ駄目ですか?
void xxx ( char * p ) {
char *wp = p;
p = "aiueo";
printf("%s\n", wp );
printf("%s\n", p );
}
よろしくお願いします。
仮引数のポインタ変数を関数内で使用する
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 仮引数のポインタ変数を関数内で使用する
使うことは出来ますが、お行儀が悪いです。
バグの温床にもなるので避けるのが懸命でしょうね。
プロならやらないです。
絶対人に見せない&記憶力に自信があり1年後でも覚えていれるなら別に構いませんが「なんか上手く動かないんですが~」と質問されると困るプログラムです。そんな時に言われるのが「そんな使い方をするからです」と言う答えだと予言しておきます。
バグの温床にもなるので避けるのが懸命でしょうね。
プロならやらないです。
絶対人に見せない&記憶力に自信があり1年後でも覚えていれるなら別に構いませんが「なんか上手く動かないんですが~」と質問されると困るプログラムです。そんな時に言われるのが「そんな使い方をするからです」と言う答えだと予言しておきます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。