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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
hysan

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

#1

投稿記事 by hysan » 14年前

お世話になります。

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

void xxx ( char * p ) {

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

よろしくお願いします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

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

#2

投稿記事 by softya(ソフト屋) » 14年前

使うことは出来ますが、お行儀が悪いです。
バグの温床にもなるので避けるのが懸命でしょうね。
プロならやらないです。

絶対人に見せない&記憶力に自信があり1年後でも覚えていれるなら別に構いませんが「なんか上手く動かないんですが~」と質問されると困るプログラムです。そんな時に言われるのが「そんな使い方をするからです」と言う答えだと予言しておきます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る