• ベストアンサー

引数のポインタ変数をローカル変数に設定方法

引数で受け取ったポインタ変数を受け取った関数内のローカル変数に設定するには、 どうしたらよいでしょうか? イメージとしては、 int abc(char *a){ *a = '3' ローカル変数b = *a }

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

この例で (1)ローカル変数bに、ポインタaが指すアドレスにある値('3')を代入したい。 (2)ローカル変数bに、ポインタaそのものを代入したい。 (3)それ以外 のどれなのでしょうか?それは、どんな目的があるのでしょうか? (1)は、'3'という値を覚えるだけです。 char *型が指す値なので、char型です。 char b ; b= *a ; *aとは別になるので、この後でbの値を変えても、aには影響が出ません。 (2)は、aを代入します。 char * b; b=a; *bを操作することで、*aを操作するのと同じことになります。 *b='4'; /* *aが'4'になる */