2013-06-06 10 views
37

स्ट्रिंग को समाप्त करते समय, मुझे लगता है कि तर्कसंगत char c=0char c='\0' के बराबर है, क्योंकि "शून्य" (ASCII 0) बाइट 0 है, लेकिन आमतौर पर लोग इसके बजाय '\0' करते हैं। क्या यह पूरी तरह से वरीयता से बाहर है या यह एक बेहतर "अभ्यास" होना चाहिए?स्ट्रिंग समाप्ति - चार सी = 0 बनाम चार सी = ' 0'

पसंदीदा विकल्प क्या है?


संपादित करें:कश्मीर & आर कहते हैं: "चरित्र लगातार '\0' शून्य मान के साथ चरित्र में शून्य वर्ण का प्रतिनिधित्व करता है '\0' अक्सर चरित्र प्रकृति पर जोर देना 0 के बजाय लिखा है। कुछ अभिव्यक्तियों का, लेकिन संख्यात्मक मान केवल 0 है।

+1

अरे जो डीएफ! अब के एंड आर पढ़ना और एक ही सवाल था। "स्ट्रिंग में \ 0" गुगल "और दूसरा लिंक आपके प्रश्न के लिए है। इससे मेरी मदद की;) – vasili111

+1

@ vasili111 मुझे खुशी है कि इससे आपकी मदद मिली। :) –

उत्तर

30

http://en.wikipedia.org/wiki/Ascii#ASCII_control_code_chart

Binary Oct Dec Hex Abbr Unicode Control char C Escape code Name 
0000000 000 0  00  NUL  ␀  ^@   \0    Null character 

कोई अंतर नहीं है, लेकिन अधिक मूर्खतापूर्ण '\0' है।

शायद इसे char c = 0; के रूप में डालने का अर्थ यह हो सकता है कि आप इसे एक संख्या (उदाहरण के लिए एक काउंटर) के रूप में उपयोग करना चाहते हैं, हालांकि मैं व्यक्तिगत रूप से इस तरह के कोड में नहीं आया हूं। '\0' स्पष्ट है।

+0

क्या सी मानक मानक ASCII गारंटी देता है? –

+0

हां, यह है कि सी 99 के मेरे पढ़ने के बारे में भी यही दिया गया है। उस प्रश्न के लिए धन्यवाद, इसे पहले नहीं मिला था। –

16

'\0' केवल एक ASCII चरित्र है। 'A', या '0' या '\n'
आप char c = '\0 लिखते हैं 'के रूप में ही है, यह के रूप में char c = 0;
आप char c = 'A' लिखते हैं, यह के रूप में char c = 65

यह सिर्फ एक चरित्र प्रतिनिधित्व है ही है एक ही है और यह एक अच्छा अभ्यास है इसे लिखो, जब आप वास्तव में स्ट्रिंग के नल बाइट का मतलब है। चूंकि char सी वन बाइट (अभिन्न प्रकार) में है, इसका कोई विशेष अर्थ नहीं है।

+0

या यहां तक ​​कि 0x41 :) –

+2

या 0b1000001, या 0101 है, जो मेरे उत्तर में महत्वपूर्ण नहीं है। यह सब नंबर है। –

+0

हाहाहा मजाकिया: डी –

3

पसंदीदा विकल्प यह है कि जो लोग आपके कोड को समझने की क्षमता दे सकते हैं कि आप अपने चर का उपयोग कैसे करते हैं - एक संख्या या चरित्र के रूप में। सर्वोत्तम अभ्यास 0 का उपयोग करना है जब आपका मतलब है कि आप एक संख्या के रूप में परिवर्तनीय हैं और '\ 0' का उपयोग करने के लिए जब आपका मतलब है कि आपका चर एक चरित्र है।

संबंधित मुद्दे