広告が含まれています。2021.03.08アドレス渡しを使う関数を勉強したい。ポインタを関数で使うには?値渡しを使うとき、ポインタ渡しを使うとき何が違う?この記事を読めば、これらの悩みを解決できます。今回も、変数に代入された値を2倍して出力するプログラムを使って解説します。アドレス渡しを関数に応用すれば、その自作関数で計算した値をその後のプログラムに反映することができます。自作関数の後で、2倍した変数を出力したりできるようになります。この話が分からない人は、先に「自作関数の値渡し」を勉強してみましょう。voidとは?関数の値渡しについて詳しく知りたいですか?初心者にもやさしく解説します。muusannitizyou.jpまた、アドレス渡しをまだ勉強していない人は、下の記事を参考にしてみてください。値渡しについて詳しく知りたいですか?初心者にもやさしく解説します。・main関数(この中に自作関数)・自作関数の説明です。上から順に解説していきます。*pa);プロトタイプ宣言はこのように書きます。戻り値がない関数を作るので、データ型に「void」を使います。アドレス渡しをするため、カッコの中にはポインタを使っています。a);}変数「a」に5を代入していて、これを自作関数「nibai」で2倍するといった感じです。引数の部分に「&a」(変数aのアドレス)が入っていて、こうすることで「自作関数の説明」に「a」のアドレスを送ることができます。このように、アドレス渡しは、必ず自作関数のカッコの中にアドレスを入れます。2;}「自作関数」の引数と「自作関数の説明」のカッコの中が一致していないのは、送られてきたaのアドレスを*paに送るためです。ここで、アドレス渡しの考え方を使っています。(ポインタのアドレス「pa」を入れたくなりますが、データ型の後ろにアドレスを書くことはできないため「*pa」のままにしています。この話がよく分からない人は、下の記事を参考にしてみてください。ポインタを0から解説(覚えるのは5つだけ)ポインタについて詳しく知りたいですか?図や写真を使って分かりやすくまとめて詳しく解説します。サンプルコード有りです。muusannitizyou.jp結果的に、自作関数うから送られてきた「a」のアドレスは、「*pa」のアドレスに代入されます。「a」のアドレスと「*pa」のアドレスが同じなので、「*pa」を2倍したら、「a」を2倍することができます。一度「main関数」を見てもらえれば分かりますが、こうして変数は自作関数で2倍され、出力されます。ここまでをまとめます。2;}では、出力してみます。5を2倍して、「10」が出力されました。まとめ:自作関数のアドレス渡し初心者の方は特に、「自作関数」と「自作関数の説明」のカッコの中身が一致してないところは、難しいと思います。分からなかったら、過去に勉強したものを復習しましょう。悩みすぎるのはよくないので、どうしても分からなかったら先に進めましょう。次は、ポインタと配列と関数の応用です。配列と関数(配列はポインタ?)アドレス渡しできる!配列と関数について詳しく知りたいですか?初心者にもやさしく解説します。コメントをキャンセルメールアドレスが公開されることはありません。●1日で月10万円を稼ぐ方法などを教えています。あなたがネット上で月10万稼げていないのであれば、それは間違いなく知識不足です。僕の公式LINEに登録することで、その辺りの知識を体系的に取り入れることができます。すべて無料で教えています。BlogMuu検索モバイルバージョンに移動タイトルとURLをコピーしました/。