ページ 11

仮引数のポインタ変数を関数内で使用する

Posted: 2011年3月22日(火) 18:35
by hysan
お世話になります。

下記のように、仮引数のポインタ変数(p)を関数内で作業用に使っても問題ないでしょうか。
少々抵抗があるのですが、こんなことはしちゃ駄目ですか?

void xxx ( char * p ) {

char *wp = p;
p = "aiueo";
printf("%s\n", wp );
printf("%s\n", p );
}

よろしくお願いします。

Re: 仮引数のポインタ変数を関数内で使用する

Posted: 2011年3月22日(火) 19:30
by softya(ソフト屋)
使うことは出来ますが、お行儀が悪いです。
バグの温床にもなるので避けるのが懸命でしょうね。
プロならやらないです。

絶対人に見せない&記憶力に自信があり1年後でも覚えていれるなら別に構いませんが「なんか上手く動かないんですが~」と質問されると困るプログラムです。そんな時に言われるのが「そんな使い方をするからです」と言う答えだと予言しておきます。