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

--/--|スポンサー広告||TOP↑
先日のエントリでC言語のポインタが理解できない人は、Cのほかの部分の仕様を正しく理解していないこともひとつの要因ではないかと考察した。

今回はポインタについて簡単にまとめてみよう。

ポインタとは別のデータが置かれた場所を示すものである。
ポインタは実際には値であり、変数に格納したり計算対照にしたり出来る。
ポインタは参照先のデータ型を持つ。
ポインタを使ってその場所にあるデータを参照したり、変更したり出来る。
ポインタは整数と演算することでデータ型に合わせたオフセットのポインタを得られる。
ポインタには汎用ポインタという参照先のデータ型を持たないものがある。
汎用ポインタはいずれのポインタ型にも暗黙的なキャストができる。また、逆の暗黙的なキャストも可能。

上記がポインタのルールだ。

上記ルールより

ポインタはポインタが格納された場所を示すことが出来る。いわゆるダブルポインタである。
もちろん、ダブルポインタを示すポインタも作れる。このように再帰的に適用可能。

配列は連続した場所に要素を格納する。そして、データ型に合わせた演算を行うので、配列へのアクセスは単に先頭要素のポインタからのオフセットである。また、[]演算子はただのポインタ用の演算子である。


これらのポインタの仕様さえ把握していれば、なにも恐れることはない。ポインタを扱う上で初心者が混乱するのはむしろ、C言語の型システムを正しく理解していないことのようにも思えるが、それはまた別の機会に。
スポンサーサイト

09/23|プログラムコメント(0)トラックバック(0)TOP↑
この記事にコメント
名前:
コメントタイトル:
メールアドレス:
URL:
コメント:

パスワード:
管理人だけに表示:
管理者にだけ表示を許可
この記事にトラックバック
プロフィール

G.U.Nex

Author:G.U.Nex
職業:プログラマ
趣味:ゲーム(PC、コンシューマ)、ネットサーフィン、ニコニコ動画視聴、プログラミング、鉄道全般
PHP, C, C++, VB(系), Java, JavaScriptを使える。
最近はRubyにはまってる。

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム
ブログ内検索
RSSフィード
リンク
フリーエリア
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。