翻訳と辞書
Words near each other
・ 番人
・ 番仔田駅
・ 番付
・ 番付上位者優勝制度
・ 番付外
・ 番付編成会議
・ 番付表
・ 番代
・ 番代区分
・ 番傘
番兵
・ 番兵値
・ 番制
・ 番勝負
・ 番匠
・ 番匠塾
・ 番匠川
・ 番匠幸一郎
・ 番匠愛
・ 番匠義彰


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

番兵 : ミニ英和和英辞書
番兵[ばんぺい]
【名詞】 1. sentry 2. guard
===========================
: [ばん]
 【名詞】 1. (1) watch 2. guard 3. lookout 4. (2) bout, match (sumo) 5. (3) (one's) turn
番兵 : [ばんぺい]
 【名詞】 1. sentry 2. guard
: [へい]
 【名詞】 1. (1) (common) soldier 2. rank and file 3. (2) army 4. troops 5. (3) warfare 6. strategy
番兵 : ウィキペディア日本語版
番兵[ばんぺい]
番兵(ばんぺい、英語:sentinel)は基地、野営地の出入りを警備する任務に付く兵士を指す。歩哨とも言う。
転じてプログラミング用語としては、データの終了を示すために配置される特殊なデータを指す。番人(ばんにん)とも言う。以下ではこの意味について示す。
実際にはこの用語は、微妙に異なる以下の2つの意味で使われる。
* 実データには出現しない、データの終了を表すための専用の値
* 入力データを処理するループの終了条件が複数ある場合に、条件判定の数を削減するために置くダミーのデータ
== 終了を表すための専用の値 ==
主に可変長データの終了を識別するために、終了を示す記号として予約された値。
番兵の具体例としては、LISPで無効値を示すNILや、C言語の文字列終端を示すヌル文字(\0)などがある。また、ポインタを扱う言語ではヌルポインタが定義されており、線形リスト木構造などの終端を示すために使われる。

番兵を含むデータを処理するプログラムは、通常はループで入力データを処理しており、新たなデータを取得するとまず番兵か否かを判定する条件分岐を実行する。以下に、C言語における文字列比較関数 strcmp の実装例を示す。


int strcmp(const char s[], const char t[])

実データに出現する値だと、実データなのか終了なのか判断できないため、実データとしては出現しない値を使う必要がある。C言語の getchar 関数では、入力データとして char 型のすべての値が出現する可能性があるため、char 型の範囲では番兵のための値を確保することができない。そのため getchar 関数の返値の型は、より広い範囲の値を扱える int 型になっており、入力データを unsigned char 型の範囲の値として扱い、unsigned char 型としては出現しない値を番兵EOFとして使用している(-1を使う処理系が多い)。
コンピュータで可変長データを表現する方法は、末尾に番兵を置く方法と、長さを別途与える方法の2種類に大別できる。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「番兵」の詳細全文を読む




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.