C言語のポインタとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > C言語のポインタの意味・解説 

C言語のポインタ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/08/06 09:06 UTC 版)

ポインタ (プログラミング)」の記事における「C言語のポインタ」の解説

ウィキブックスC言語関連解説書教科書あります。 最も典型的なポインタの例としては、C言語におけるポインタ挙げられる。C言語のポインタは「特定のメモリ領域指し示す」ものであるポインタ経由してメモリ上のデータアクセスする際、参照するデータの型に応じたポインタ型用いる。たとえば、int型データアクセスする場合は、int*型を用いる。これを「intへのポインタ」(pointer to int) と呼ぶ。 C言語ポインタ存在する理由は、効率上の問題である。C言語は、元々UNIX記述するシステム用言語として開発されたものである。したがってアセンブラ実行できる操作のほぼ全て行える必要があった。そのため、特定のメモリ領域への値の直接代入能力を持つなど、他のプログラミング言語比較して、むしろ異例とも言える強力なポインタ機能備えている。 C言語実行モデルでは、実行プログラム上の関数コードデータ全て1次元アドレス直列配置される。そのため、データはおろか関数アドレス取得し、他の関数エントリーポイント情報として渡すこともできるまた、C言語関数では、引数は、値渡しだけをサポートし参照渡しサポートしない。これは、アドレス数値取得すれば参照可能な全て行えるため、実質的に参照数値同一視できるからである。実際初期C言語では、アドレス値は、整数型互換するものとして扱われていた。これは、値と参照明確に区別するPascalなどとは対照的である。現在[いつ?]でもC言語は、void*により任意のメモリ領域アクセスできる。なお後発のC++では参照渡しサポートするようになった。 しかし、コード領域も含むメモリ直接扱えるということは言語レベルでは(意図的でないとしても)不正なメモリアクセスを事実上保護できないということ示しており、C言語プログラムにおけるポインタ関連バグ多さがそれを証明している。

※この「C言語のポインタ」の解説は、「ポインタ (プログラミング)」の解説の一部です。
「C言語のポインタ」を含む「ポインタ (プログラミング)」の記事については、「ポインタ (プログラミング)」の概要を参照ください。

ウィキペディア小見出し辞書の「C言語のポインタ」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「C言語のポインタ」の関連用語

C言語のポインタのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



C言語のポインタのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのポインタ (プログラミング) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS