スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ポインタ変数の参照渡し

ポインタはややこしい
"func(int *&p)" って何だよ?

分かったのでメモします。

★基本
まず、関数の引数の渡し方には2種類ある。ここ重要。
・値渡し・・・変数の中身をコピーして渡す
・参照渡し・・・変数そのものを渡す


★C言語
C言語の関数では値渡ししか出来ない。
ただし、変数のアドレスやポインタ変数を引数にしてポインタ変数で受け取れば、参照渡しと同じ効果が得られる
main側:func(&x);
関数側:func(int *p){...}
もしくは
main側:func(*p);
関数側:func(int *p){...}


★C++
C++も値渡しについては同様であるが、参照渡しも可能
"変数"を引数にして、"&変数"で受け取れば、参照渡しになる
main側:func(x);
関数側:func(int &x){...}

故に、C++では以下のようなことが可能となり混乱する
ポインタ変数の参照渡し
main側ではfunc(*p);
関数側ではfunc(int *&p){...}


以上
スポンサーサイト

comment

管理者にだけ表示を許可する

03 | 2017/04 | 05
Su Mo Tu We Th Fr Sa
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
プロフィール

エレクトリックバカ

Author:エレクトリックバカ

ポケコンでプログラミングに目覚め、PICマイコンで電子工作に希望を抱き、来たるべきUGDの時代を夢見て眠る。
そんな うだつが上がらないサラリーメン。
先生、電子工作はおやつに入りますか?




Electric Baka

最新記事
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。