TsudaOct-2013ポインタの宣言・初期化さて、本題の「ポインタ」である。ポインタの理解は苦しくなるので、あやふやな人はリンク先でよーく勉強してね。「ポインタ」とはなんらかのオブジェクトを指し、オブジェクトを間接的に参照するためのものである。抽象的に言われてもなかなかピンと来ないのが普通だと思う。本稿を読み、少しずつ理解していけば、上記文章がいつかすっきりと理解できるようになるはずだ。ポインタは通常の変数と同じように宣言してから使用する。*ポインタ名;」で宣言する。いう組み込み型があるわけではない。組み込み型や、構造体・クラス名を記述する。以下のように宣言する。ptr;」の様に、「*」を型にくっつけてもよいどちらの記法が良いかは微妙である。「T*」の方が型であることを強調できていいかもしれない。Tへのポインタとならないという文法上の不備がある。*ptr2;」と記述する必要がある。1行に、複数の変数の宣言を書かないというコーディングルールであれば、「T*」の方が型であることが明確になりいいかもしれないポインタは変数などのオブジェクトを指す(ポイントする)ものである。指す場合は、以下のように初期化する。上記はポインタの宣言と初期化を1行に書いているが、以下のように分けてもよい。変数のアドレスを取り出す演算子。変数は宣言時に初期化する方がよい。初期化を忘れることが無いし、行数も減るからである。指すことを下図のように図示する。実際にプログラムを記述して、ポインタの値、変数のアドレスを表示してみましょう。0x002FFEDC上記結果は筆者の環境での実行結果である。実際に変数がどのアドレスに割りあてあられるかは環境によって異なる。演習問題:上記プログラムを読者の環境でビルド・実行し、変数xの値がどのようなアドレスに格納されているかを確認しなさい配列要素をポイント配列の要素のアドレスもポインタに格納することができる。