बैकस्लैश \
एक चरित्र है, जैसे A
, कॉमा ,
, और 4
की संख्या। कुछ प्रोग्रामिंग भाषाओं में, विशेष रूप से सी और इसके वंशज (और शायद पूर्वजों), यह अन्य पात्रों से बचने के लिए एक स्ट्रिंग या चरित्र शाब्दिक के अंदर प्रयोग किया जाता है। उदाहरण के लिए, '\a'
घंटी वर्ण का प्रतिनिधित्व करता है, और यदि आप इसे प्रिंट करते हैं तो कंप्यूटर से एक बीप का उत्पादन करेगा (printf("%c", '\a')
)।
सी-भाषा से बचने वाले चरित्र के रूप में, यह मोटे तौर पर संकलक द्वारा अनुमत मानव निर्माण है, इसलिए मनुष्य घंटी चरित्र व्यक्त कर सकते हैं। संकलित कोड बस चरित्र को स्टोर करता है - मूल्य 7 के साथ एक बाइट। बस बिल्कुल स्पष्ट होने के लिए, \
को a
स्टोर करता है।
अन्य संदर्भों के तहत, बैकस्लैश का अर्थ रनटाइम पर प्रोग्राम के लिए कुछ है। इसका सबसे प्रसिद्ध उदाहरण नियमित अभिव्यक्ति वाक्यविन्यास है, जिसमें बैकस्लैश अन्य वर्णों से बचने के लिए उन्हें विशेष अर्थ देता है या उनके पास एक विशेष अर्थ ले सकता है। उदाहरण के लिए, grep '\<foo\>' file.txt
फ़ाइल.txt में foo शब्द के साथ लाइनों का पता लगाएगा। इस मामले में बैकस्लाश वास्तव में रनटाइम पर हैं, और प्रोग्राम द्वारा व्याख्या की जाती है क्योंकि <
और >
के लिए भाग निकलता है जो उनका अनुसरण करते हैं। इस मामले में, \<
और \>
बिल्कुल वर्णों का प्रतिनिधित्व नहीं करते हैं; वे क्रमशः एक शब्द की शुरुआत और अंत के खिलाफ एक शून्य चौड़ाई मैच इंगित करते हैं।
स्रोत
2010-11-23 10:16:40
हाय, मार्सेलो, आपके विस्तृत उत्तर के लिए धन्यवाद। केवल एक चीज, जब हम स्ट्रिंग प्रसंस्करण जैसे सी प्रोग्राम बनाते हैं, हम मनुष्य के रूप में, स्ट्रिंग के अंत के साथ हमारे ऑपरेशन को व्यक्त करने के लिए प्रोग्राम में "\ 0" का उपयोग करते हैं। फिर, कंपाइलर क्या करता है? "\" संग्रहीत है या निम्नलिखित वर्ण "0" (या आपके उदाहरण में "ए" संग्रहित है? फिर, जब प्रोग्राम निष्पादित होता है, तो कोड इस संग्रहीत मूल्य के साथ कैसे प्रतिक्रिया करता है या प्राप्त करता है? – pepero
@pepero: \ 0 के साथ स्ट्रिंग को समाप्त करने के मामले में, संग्रहीत मान शून्य के मान के साथ एक बाइट है (कोई बिट सेट नहीं है)। तारों के अंत को खोजने की अनुमति देने के लिए यह एक और सी रूपांतरण होता है। – BCS
@pepero: मुझे लगता है कि मैंने अपना संपादित उत्तर सहेजने से पहले अपनी टिप्पणी की है, जो इस बिंदु को स्पष्ट रूप से दूसरे पैराग्राफ में शामिल करता है। मैंने किसी भी संभावित अस्पष्टता को खत्म करने के लिए इसे थोड़ा सा tweaked किया है। –