สายอักขระว่าง

ในวิทยาการคอมพิวเตอร์และภาษารูปนัย สายอักขระว่าง (Kernighan and Ritchie, C, p. 38) หมายถึงสายอักขระที่มีหนึ่งเดียวที่มีความยาวเป็นศูนย์

 ทฤษฎีรูปนัย 
สายอักขระตามรูปนัยคือลำดับของสัญลักษณ์เช่นตัวอักษรหรือตัวเลขที่มีความยาวจำกัด สายอักขระว่างจึงเป็นกรณีสุดขีดซึ่งมีความยาวของลำดับเป็นศูนย์ ดังนั้นมันจึงไม่มีสัญลักษณ์อันใดในสายอักขระว่าง สายอักขระว่างมีเพียงหนึ่งเดียว เพราะว่าสายอักขระสองสายจะแตกต่างกันก็ต่อเมื่อมีความยาวหรือลำดับของสัญลักษณ์ที่ต่างกัน สายอักขระว่างเขียนแทนด้วย λ หรืออาจพบได้ในรูป Λ หรือ ε

ไม่ควรสับสนระหว่างสายอักขระว่าง λ กับภาษาว่าง ∅ เพราะภาษาว่างหมายถึงภาษารูปนัยที่ไม่มีสายอักขระใด ๆ อยู่เลย ไม่มีแม้กระทั่งสายอักขระว่าง

สายอักขระว่างมีสมบัติหลายประการดังนี้
  สายอักขระว่างมีความยาวเท่ากับศูนย์
  สายอักขระว่างเป็นสมาชิกเอกลักษณ์ของการต่อกันของสายอักขระ (concatenation) (ซึ่งทำให้เกิดโมนอยด์อิสระ (free monoid) บนอักษร Σ)
  การเรียงลำดับย้อนกลับของสายอักขระว่างก็ได้สายอักขระว่าง
 สายอักขระว่างจะอยู่ลำดับแรกสุดในการจัดลำดับแบบพจนานุกรม (lexicographical order) เพราะว่ามันมีความยาวสั้นที่สุดจากสายอักขระทั้งหมด 

 การใช้ในภาษาโปรแกรม 
ในภาษาโปรแกรมส่วนใหญ่ สายอักขระเป็นแบบชนิดข้อมูลแบบหนึ่ง สายอักขระเอกเทศโดยปกติจะถูกเก็บลงในตำแหน่งหน่วยความจำที่ต่อเนื่องตามลำดับ หมายความว่าสายอักขระที่เหมือนกัน (ตัวอย่างเช่นสายอักขระว่าง) สามารถเก็บไว้ที่หน่วยความจำสองตำแหน่งที่ต่างกันได้ (สายอักขระที่มีความยาวเป็นศูนย์ก็อาจต้องการหน่วยความจำในการเก็บบันทึกเช่นกัน ขึ้นอยู่กับรูปแบบที่กำลังใช้งาน) ด้วยเหตุผลนี้หน่วยความจำจึงอาจมีสายอักขระว่างหลายสายก็ได้ ต่างจากนิยามของทฤษฎีรูปนัยซึ่งกล่าวว่าสายอักขระว่างมีได้เพียงหนึ่งเดียว อย่างไรก็ตาม ฟังก์ชันการเปรียบเทียบสายอักขระยังคงให้ผลลัพธ์ว่า สายอักขระว่างทั้งหมดนั้นเท่ากัน

ภาษาโปรแกรมส่วนใหญ่สามารถใช้ "" หรือ '' แทนสายอักขระว่าง λ แต่ก็ยังมีบางภาษาที่สามารถเขียนในรูปแบบอื่นได้อีก เช่น
 ตัวแทนของ λ ภาษาโปรแกรม "" ซี, ซีพลัสพลัส, เพิร์ล, ไพทอน, ซีชาร์ป, โก, พีเอชพี, วิชวลเบสิกดอตเน็ต, จาวา, ทัวริง, จาวาสคริปต์, แฮสเคลล์, อ็อบเจกทีฟ-ซี (แบบสายอักขระภาษาซี), โอแคเมล, มาร์กอัป (แบบมาตรฐาน), สกาลา, ทีซีแอล '' เพิร์ล, พีเอชพี, ไพทอน, จาวาสคริปต์, เดลไฟ, ปาสกาล {'\0'} ซี, ซีพลัสพลัส, อ็อบเจกทีฟ-ซี (แบบสายอักขระภาษาซี) std::string() ซีพลัสพลัส @"" อ็อบเจกทีฟ-ซี (แบบวัตถุ NSString) [NSString string] อ็อบเจกทีฟ-ซี (แบบวัตถุ NSString) qw() เพิร์ล """"""str() ไพทอน string.Empty ซีชาร์ป String.Empty วิชวลเบสิกดอตเน็ต String.make 0 '-' โอแคเมล {} ทีซีแอล

 อ้างอิง 

 ดูเพิ่ม 
 เซตว่าง
 นัลล์ (null)

หมวดหมู่:ภาษารูปนัย
หมวดหมู่:สายอักขระ
หมวดหมู่:ศูนย์