【C言語】ポインタ(13)規格書での記載①
どうも。gochaです。
以前の投稿で、ポインタについてC言語の規格書を読んでみると、下記のように記載されていることを示しました。
- ポインタ型は、被参照型と呼ばれるファンクション型、オブジェクト型、またはインコンプリート型 から派生され得る。
ポインタ型はオブジェクトの特徴を説明し、このオブジェクトの値は、被参照型の実体への参照となる。
被参照型Tから派生されるポインタ型は、時々、“Tへのポインタ”と呼ばれる。
被参照型からポインタ型を構築することは、“ポインタ型の派生”と呼ばれる。
“ポインタ型の派生”は再帰的に適用することができる。
参照(英語):http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf#page=48
私は、「ポインタ型は、被参照型と呼ばれるファンクション型、オブジェクト型、またはインコンプリート型 から派生され得る。」が分かりづらい理由は、被参照型、ファンクション型、オブジェクト型、インコンプリート型、といった普通にCを書いているプログラマでもあまり説明されたことがないような型が羅列されているからかなと考えてます。
なので、これを凝縮します。
ポインタ型は、被参照型と呼ばれるファンクション型、オブジェクト型、またはインコンプリート型 から派生され得る。
↓
ポインタ型は、他の型 から派生され得る。
結局ポインタ型は、他の型があって初めて存在できるものだということです。
ここまで理解できれば、ポインタ型、およびポインタの理解としては充分です。
もし、細かくファンクション型、オブジェクト型、インコンプリート型をについて理解したい場合は、下記を参考にしていただければ幸いです。
今回はここまで。