की लंबाई स्ट्रिंग शाब्दिक संकेत की एक सरणी को देखते हुए निर्धारण:एक स्ट्रिंग शाब्दिक
char *textMessages[] = {
"Small text message",
"Slightly larger text message",
"A really large text message that "
"is spread over multiple lines"
}
एक एक विशेष स्ट्रिंग शाब्दिक की लंबाई कैसे निर्धारित करता है - तीसरा कहा? मैं sizeof आदेश का उपयोग इस प्रकार की कोशिश की है:
int size = sizeof(textMessages[2]);
लेकिन परिणाम स्ट्रिंग शाब्दिक की लंबाई सरणी में संकेत की संख्या के बजाय हो रहा है।
'आकार (टेक्स्टमेजेज [2]) '' char * 'प्रकार का आकार उपज करेगा। यह पूरी तरह से संयोग है कि 'आकार (char *)' आपके सिस्टम पर 4 होता है, और आपके सरणी में तत्वों की संख्या के साथ कुछ भी नहीं करना है। –
आपको अपनी सरणी के लिए 'स्थिर कॉन्स चार टेक्स्ट मैसेजेज [] [4]' परिभाषा का उपयोग करने पर विचार करना चाहिए। –
@MichaelFoukarakis सरणी में केवल * तीन * पॉइंटर्स हैं (स्ट्रिंग concatenation नोट करें)। – Jens