चलें कहते हैं कि हम चार संकेतchar * का ऐरे ' 0' या " 0" पर समाप्त होना चाहिए?
char* array[] = { "abc", "def" };
अब क्या अंत में रखा जाना चाहिए की एक सरणी है?
char* array[] = { "abc", "def", '\0' };
या
char* array[] = { "abc", "def", "\0" };
हालांकि, दोनों काम करता है। हम केवल अंत तदनुसार
array[ index ] != '\0';
या
तरह जांच करने के लिए शर्त डाल करने के लिए हैarray[ index ] != "\0";
मेरा प्रश्न जो एक बेहतर तरीका है? अधिकांश प्रोग्रामर द्वारा किसका उपयोग किया जाता है?
संपादित
अधिकांश जवाब का कहना है कि शून्य '\ 0' और "\ 0" से बेहतर है। लेकिन मैं हमेशा सोचा था कि
शून्य जो 0x0 या 0
यह गलत है के रूप में ही है के रूप में '\ 0' एक ही है?
संपादित करें, सी शून्य में के बारे में एक सूचक (आमतौर पर परिभाषित (शून्य *) 0। '\ 0' एक चरित्र स्थिर है जब एक चरित्र निरंतर जहां एक सूचक की उम्मीद है का उपयोग कर रहा है। तो, और अंतर्निहित रूपांतरण होता है। यह रूप में एक पूर्ण सूचक में किसी भी पूर्णांक शून्य परिणामों का रूपांतरण होता है, लेकिन यह स्पष्ट नहीं करता है कि आप एक सूचक का इरादा रखते हैं। एक शाब्दिक निरंतर पूर्णांक शून्य आईएमओ का उपयोग करना बेहतर है। जैसा कि सी ++ में होता है, यह किसी भी पसंदीदा तरीका है मामला है, लेकिन C++ शून्य मैक्रो भी उस तरह से परिभाषित किया गया है 'का उपयोग करते हुए '\ 0'' एक' char' जो की तुलना सेब की तरह है करने के लिए एक 'चार *' तुलना कर रहा है (अपने संकलक के मानक हेडर फाइल में एक बार देख ले)। – Clifford