यह निर्भर करता है। यदि यह एक गतिशील रूप से आवंटित सरणी है, यानी, आपने इसे मॉलोक को कॉल किया है, तो अन्य लोगों का सुझाव है कि आपको या तो कहीं भी सरणी/तत्वों की संख्या को सहेजना होगा या एक सेंटीनेल (एक विशेष मूल्य वाला एक स्ट्रक्चर, जो होगा आखरी)।
यदि यह एक स्थिर सरणी है, तो आप इसे आकार/एक तत्व के आकार है sizeof कर सकते हैं।
int array[10], array_size;
...
array_size = sizeof(array)/sizeof(int);
ध्यान दें कि, जब तक यह वैश्विक है, दायरे में यह केवल काम करता है जहां क्योंकि अगर आप इसे पिछले एक और कार्य करने के लिए सरणी प्रारंभ, यह एक सूचक को सड़ा हुआ हो जाता है: उदाहरण के लिए।
उम्मीद है कि यह मदद करता है।
+1 मैं आमतौर पर structs की ओर इशारा उपयोग करती हैं इसलिए कि मुझे यकीन है कि 'NULL' एक अनूठा प्रहरी है हो सकता है। –
मुझे लगता है कि अशक्त-समाप्त-स्ट्रिंग मॉडल का अनुसरण एक बुरा विचार – hasen
@hasen j है: मैं मानता हूँ, जब तक आप जानते हैं कि आप हमेशा पूरे सरणी हर बार, ऐसी स्थिति में एक प्रहरी थोड़ा कोड स्पष्ट कर सकते हैं के माध्यम से पुनरावृति करना है। सेंटीनेल के साथ समस्या यह है कि आप ओ (एन) व्यवहार के साथ समाप्त हो सकते हैं जहां ओ (1) होता, और हमेशा इसका एहसास नहीं होता। – quark