目次
14 関係: バッファオーバーフロー、ポインタ (プログラミング)、システム、ストリーム (プログラミング)、サブルーチン、C言語、EOF、Gets、Return文、Scanf、標準ストリーム、標準Cライブラリ、情報セキュリティ、文字列。
バッファオーバーフロー
バッファオーバーフロー(buffer overflow)またはバッファオーバーラン(buffer overrun)は、コンピュータのプログラムにおけるバグのひとつ、またはそれにより引き起こされる現象で、プログラムがバッファに割り当てられた空間よりも大きなデータを書き込むことで、データがバッファ境界からあふれ、バッファの範囲外のメモリを上書きし、元々そのメモリにあったデータを破壊してしまうことを指す。 バッファオーバーフローは、上書きされるメモリ領域がスタック領域なのかヒープ領域なのかに応じてそれぞれスタックベースのバッファオーバーフロー、ヒープベースのバッファオーバーフローと呼ばれる。なお、名称が似ているスタックオーバーフローとは別の現象である。
ポインタ (プログラミング)
ポインタあるいはポインター(pointer)は、 コンピュータで処理するデータやプログラムの場所を記憶して指示するレジスタや変数の分類や呼称。 https://riscv.org/technical/specifications/ https://developer.arm.com/documentation/ddi0487/latest/ https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html"。
システム
システム(system)は、相互に影響を及ぼしあう要素から構成される、まとまりや仕組みの全体。一般性の高い概念であるため、文脈に応じて系、体系、制度、方式、機構、組織といった多種の言葉に該当する。系 (自然科学) の記事も参照。 それ自身がシステムでありながら同時に他のシステムの一部でもあるようなものをサブシステムという。
見る Fgetsとシステム
ストリーム (プログラミング)
ストリーム(stream)とは、データを、比較的小さい単位が連続したものと捉え、上流から下流へ「流れるもの」とみなし、そのデータの入出力・送受信(途中段階を含む)を最小限の滞留とさせ低遅延処理となるように扱う形態を指す。またその操作のための抽象データ型を指す。 処理内部では適切なデータ分割・バッファリングが行われる。 入力ストリーム (input stream) を利用してデータの読み出しを行ない、出力ストリーム (output stream) を利用してデータの書き込みを行なう。対照的な概念としては、保管・永続化されたデータ形態(ファイル、データベースなど)がある。 メモリバッファの入出力を扱うもの、ネットワーク通信を扱うものなどさまざまなものがある。ファイルの入出力(読み書き)に対しては、ストリームとの変換を行う仕組みが用意される。
サブルーチン
プログラミングにおけるサブルーチン(subroutine)は、プログラム中で意味や内容がまとまっている作業をひとつにまとめたものである。サブプログラムあるいは副プログラム(subprogram)大滝みや子『2020年版 基本情報技術者 標準教科書』オーム社、2019年。pp.95-96「手続きと関数」「再帰呼び出し」の章とも呼ばれ、単に「ルーチン」(routine)と呼ばれることもある。プログラミング言語によっては、関数(function)やプロシージャあるいは手続き(procedure)とも呼ばれる。
見る Fgetsとサブルーチン
C言語
C言語(シーげんご、C programming language)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発した汎用プログラミング言語である。英語圏では「C language」または単に「C」と呼ばれることが多い。日本でも文書や文脈によっては同様に「C」と呼ぶことがある。制御構文などに高水準言語の特徴を持ちながら、ハードウェア寄りの記述も可能な低水準言語の特徴も併せ持つ。基幹系システムや、動作環境の資源制約が厳しい、あるいは実行速度性能が要求されるソフトウェアの開発に用いられることが多い。後発のC++やJava、C#など、「C系」と呼ばれる派生言語の始祖でもある。 ANSI、ISO、またJISにより言語仕様が標準規格化されている。
見る FgetsとC言語
EOF
EOF。
見る FgetsとEOF
Gets
gets は、C言語における標準入力から1行分の文字列を取り出す関数である。この関数はバッファオーバーランを防ぐことが不可能という致命的な脆弱性を持っており、2011年に改訂されたC11規格以降の標準Cライブラリでは廃止された。
見る FgetsとGets
Return文
return文(リターンぶん、return statement)とは、プログラミング言語における文の一つである。goto文やbreak文、continue文のようなジャンプ文 に分類される。サブルーチンからの復帰に使われ、復帰と同時に値を返すことができる。その値は戻り値(もどりち、return value)、返り値(かえりち)、返却値(へんきゃくち)あるいはそのままreturn値(リターンち)などと呼ばれる。 日本産業規格(旧称・日本工業規格)では、C言語の国際標準規格「ISO/IEC 9899:1999」(通称C99)の翻訳「JIS X 3010:2003」およびC++の国際標準規格「ISO/IEC 14882:2003」(通称C++03)の翻訳「JIS X 3014:2003」において、「返却値」という訳語を使用している。
Scanf
scanf(スキャンエフ)は、C言語の標準関数。ヘッダーファイル で定義されている、書式付き入力関数である。 標準入力(大抵はキーボード)からの入力を、書式に従って変数に読み込む機能を持つ。標準出力関数のprintfと対比させて考えると分かりやすい。 ユーザーからの入力を受ける、ごく基本的な機能を持つにもかかわらず、後述するように異常入力(エラー)に配慮すると相応の手間がかかるため、テストプログラムや入門書を除いてはあまり使われない。 このファミリーの関数には、入力ストリームを指定できる fscanf や、メモリ上の文字列ストリームを入力対象とする sscanf などがある。
見る FgetsとScanf
標準ストリーム
標準ストリーム(入力、出力、エラー出力) 標準ストリーム(standard streams)とは、UNIXやUnix系オペレーティングシステム (OS) において、プログラムの活動実体であるプロセスとその実行環境(通常は端末)の間の接続として、(プロセスから見ると)あらかじめ確立されている入出力チャネル(パイプ)である。OSのカーネルではなくシェルで実装されている機能だが、広く使われているため標準化されている。UNIXやUnix系OSでは3つの入出力ストリーム(標準入力、標準出力、標準エラー出力)が定義される。 一部のプログラミング言語の実装では、UNIXやUnix系以外のシステムでもUnixと同様の使い勝手を提供するよう、これらを模倣するものがある。
標準Cライブラリ
標準Cライブラリ(ひょうじゅんシーライブラリ)は、C言語の標準規格で定められた、型・マクロ・関数の集合からなるライブラリである。
情報セキュリティ
情報セキュリティ(じょうほうセキュリティ、)とは、情報の機密性、完全性、可用性を維持すること。
文字列
文字列(もじれつ)は、単語や文章のような、文字の連なったもの。ストリング (string)、テキスト (text) という場合もある。コンピュータ、特にプログラミングの分野で用いることが多い。
見る Fgetsと文字列

