LoginSignup
0
3

More than 5 years have passed since last update.

ポインタの話 その2(引数のポインタ渡し)

Last updated at Posted at 2019-01-26

ポインタ渡しって何?

値渡し

関数に引数を渡すときに

int hoge(int fuga){
    //fugaに関する何らかの処理
    return fuga;
}

int main(){
    int piyo;
    piyo=hoge(piyo);
    return 0;
}

と、することがよくあると思います。
これを値渡しといいます。

ポインタ渡しって??

ポインタ渡しは引数を渡すときに変数ではなくポインタ変数をつかいます。

void hoge(int *fuga){//return文を書かなくていいのでvoid型にもできます
//何らかの処理
}

int main(){
    int piyo;
    hoge(&piyo);//引数にアドレスを渡している
    return 0;
}

何が違うの??

//値渡し
int piyo;
piyo=hoge(piyo);

//ポインタ渡し
int piyo;
hoge(&piyo);

値渡しでは変数piyoに関数hogeにpiyoを引数とした値を代入しています。
ポインタ渡しではメモリのアドレスを渡して変数に変更を加えます。

値渡しとアドレス渡し、状況でうまく使い分けましょう。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3