मैं अपनी एक कक्षा के लिए एक होमवर्क प्रश्न का उत्तर देने वाला हूं। विशेष रूप से, मुझे यह कहना है कि यदि C में कुछ सरणियों को स्ट्रिंग माना जाता है या नहीं। इस लेख के आधार पर ( https://www.geeksforgeeks.org/strings-in-c-2/ ) मुझे पता है कि तार अंत में अशक्त टर्मिनेटर के साथ वर्णों की एक सरणी है।
मेरा मुख्य हैंगअप प्रश्न का एक हिस्सा है जो एक सरणी के बारे में पूछता है जो इस तरह दिखता है:
char c1[] = { 'C', 'S', '\0', '3', '2', '4', '\0' };
यह स्पष्ट रूप से अंत में एक अशक्त समाप्ति चरित्र के साथ वर्णों की एक सरणी है। हालाँकि, यह अभी भी एक स्ट्रिंग माना जाता है क्योंकि यह भी बीच में एक शून्य समाप्ति चरित्र है? यह कैसे स्ट्रिंग को प्रभावित करेगा?
संपादित करें: टिप्पणियों के आधार पर, मैंने प्रश्न का वास्तविक शब्द प्रदान किया है:
"निम्न सरणियों में से किसे" स्ट्रिंग्स "को स्ट्रैपी (), स्ट्रेंची (), स्ट्रैम्प (), स्ट्रेंकम्प (), और इसी तरह के स्ट्रिंग फ़ंक्शंस (सभी लागू इंगित करें) के रूप में उपयोग करने के प्रयोजनों के लिए" स्ट्रिंग्स "माना जा सकता है?"
EDIT: मैंने अपने प्रोफेसर को इसके बारे में ईमेल किया था क्योंकि सवाल अस्पष्ट रूप से शब्द के रूप में लग रहा था (जैसा कि कई लोगों ने बताया)। अगर किसी को उत्सुकता है, तो उसने मुझसे कहा "हाँ यह एक स्ट्रिंग है। कुंजी यह है कि एक अशक्त चरित्र है। लेकिन निश्चित रूप से यह किसी भी स्ट्रिंग संचालन को प्रभावित करेगा; स्ट्रिंग अशक्त चरित्र पर समाप्त होता है।"
strcmp()
। क्या इसे स्ट्रिंग फ़ंक्शन को म्यूट करने के लिए एक तर्क के रूप में इस्तेमाल किया जा सकता है जो प्रदान नहीं किए गए अतिरिक्त कारकों पर निर्भर करता है।
c1
परस्पर परिवर्तनशील हैं, इसलिए मैं यह नहीं देखता कि यह strcpy
तब तक या इसके समान वैध गंतव्य तर्क में विफल क्यों न हो जाए , क्योंकि यह स्रोत स्ट्रिंग को समायोजित करने के लिए पर्याप्त बड़ा नहीं था। यह एक स्ट्रिंग नहीं होगा, बस एक दिए गए उद्देश्य के लिए एक उपयुक्त नहीं है।
c1
सभी मानक पुस्तकालय (संकीर्ण) स्ट्रिंग कार्यों के लिए तर्कों के लिए बुनियादी आवश्यकताओं को पूरा करेगी, जिसमें विशेष रूप से नामित सभी शामिल हैं, लेकिन व्यवहार वह नहीं हो सकता है जो कॉलर उम्मीद करता है या चाहता है (यहां तक कि अपरिभाषित व्यवहारों की अनदेखी भी करता है)।
char
। कोई भी कैरेक्टर टाइप करेगा।
"CS"
कूड़े के कुछ बाइट्स के साथ स्ट्रिंग है (जिसमें अंतिम एनयूएल चरित्र अप्रासंगिक है)। लेकिन यह एक स्ट्रिंग नहीं है "एक पूरे के रूप में"। - फिर भी, इसेstrcpy
आदि को खिलाने से आपके पीसी में विस्फोट नहीं होगा क्योंकि ये कार्य केवल"CS"
भाग को "देखेंगे" ।