Skip to content
Search

Sentinel value

lastmod 2025-08-26created 2025-08-261 edits

A value with special meaning, used as a termination condition, etc.

In computer programming, a sentinel value is a special value in the context of an algorithm that uses its presence as a termination condition, typically in a loop or recursive algorithm.

A sentinel value is a form of in-band data that makes it possible to detect the end of the data when no out-of-band data is provided.

In computer programming, a sentinel value (also referred to as a flag value, trip value, rogue value, signal value, or dummy data) is a special value in the context of an algorithm which uses its presence as a condition of termination, typically in a loop or recursive algorithm.

The sentinel value is a form of in-band data that makes it possible to detect the end of the data when no out-of-band data (such as an explicit size indication) is provided. The value should be selected in such a way that it is guaranteed to be distinct from all legal data values since otherwise, the presence of such values would prematurely signal the end of the data (the semipredicate problem). A sentinel value is sometimes known as an "Elephant in Cairo", due to a joke where this is used as a physical sentinel. In safe languages, most sentinel values could be replaced with option types, which enforce explicit handling of the exceptional case.

Examples

Some examples of common sentinel values and their uses:

  • Null character for indicating the end of a null-terminated string.
  • Null pointer for indicating the end of a linked list or a tree.
  • A set most significant bit in a stream of equally spaced data values, for example, a set 8th bit in a stream of 7-bit ASCII characters stored in 8-bit bytes indicating a special property (like inverse video, boldface or italics) or the end of the stream.
  • A negative integer for indicating the end of a sequence of non-negative integers. (e.g. NOT_FOUND_INDEX = -1)

See also

Favorite site

author Zer0 sitemap