ポインタを勉強していてふと疑問に思ったんやけど、ポインタって何に使うの?
ポインタとは?って聞かれたらどう言うていいのかが分かりません!
ポインタって主にどんな役目をするんですか?
C 言語の入門書なり入門サイトなりで学習されることをお勧めします。
まぁ簡単に言いますと、ポインタとはその名のとおりポイントする(指し示す)もので
すから「変数の場所を表すもの」と言えます。
変数の場所は「アドレス」とも言われ、これは直訳すれば「住所」という意味です。
普通の変数はその中にデータが入っていますが、中にアドレスが入っている変数をポイ
ンタと言います。
例えば、Aさんの家という変数があったとき、その場所を指し示す住所がアドレスで
す。
何に使うかといえば、主に場所を指し示すときに使います。
たとえば、Aさんの引越し先の家の住所を教えるから、そこに荷物を運んでくれ、と
か。
失礼。すでに勉強中でしたか。
ポインタは C 言語のキモです。しっかり押さえてください。
本によるかもしれませんけれど、
ポインタの話が出てくれば、その使い方の例まで出てくると思うんですが、
勉強に使っている本には何も載っていませんか?
よくあるのは、関数にデータを引き渡す手段としてポインタを使いますね。
C言語だとポインタを使って引き渡さざる得ない場合が出てきます。
但し、C++言語になると話が変わってきます。
勉強しているのがC言語なのか、C++言語なのかをはっきり書かないと
回答内容が変わってくる部分があると思います。
いずれにせよ、ポインタはC言語をするにもC++言語するにも必要な知識だと
思いますのでしっかり勉強してください。
文字でいろいろ読むよりも実際にプログラミングで使ってみた方が
理解しやすいかもしれないですね。
私も当初この疑問ですごくむかついてました。
仕組みや動作が解らないわけではないんです。
ポインタを使って、intに値を代入します...
って何故わざわざそんな事するの?
普通に代入すれば良いじゃん、みたいに思ってました。
存在理由がわからなかったんです。
例えば...
ポインタは、主に比較的大きな変数のかたまりを操作する時に使います。
例えば、ファイルからデータを読み込む場合、その時になってみないと、
ファイルの大きさはわかりません。
だから前もって領域を確保するよりは、ポインタを用意して、その時に
mallocという関数を使って必要な分だけ確保します。(メモリの動的な管理)
その他にもいろいろとポインタならではの使い方があります。
何の事やらわからないかもしれませんが、ずっと後のほうになって、
ポインタの必要性が出てきますから、今はわからなくても問題ありません。
気になっているんですが、
「再起関数について」のスレッドのかつさんと同じ人だったら
あちらのスレッドの後始末をお願いします。
スレッドを起こした人が解決をチェックするのが一応ルールですから。
まあ、あの状態だとご自身の問題は解決されたのかよくわからないんですけれどね。
ただ放置するのは勘弁してくださいね。
まだまだ勉強が足りひんな・・・・がんばります!