परिचय
प्रोग्रामिंग में स्ट्रिंग को कैरेक्टर्स के संग्रह के रूप में परिभाषित किया जाता है। किसी स्ट्रिंग को बनाने में कितने कैरेक्टर्स उपयोग हुए हैं, यह जानने के लिए C दो दृष्टिकोण प्रदान करता है: strlen() और sizeof()।
ये दोनों विधियाँ टारगेट ऑपरेंड की लंबाई पता लगाने के लिए उपयोग की जाती हैं, लेकिन आंतरिक कार्यान्वयन के आधार पर इनमें मूलभूत अंतर हैं:
| क्र.सं. | मापदंड | strlen() | sizeof() |
|---|---|---|---|
| 1 | परिभाषा | strlen() C में string.h हेडर फाइल में परिभाषित एक पूर्वनिर्धारित फंक्शन है। |
sizeof() एक यूनरी ऑपरेटर है, पूर्वनिर्धारित फंक्शन नहीं। |
| 2 | कार्यान्वयन (Implementation) | strlen आंतरिक रूप से स्ट्रिंग में कैरेक्टर्स की गिनती करता है, नल वैल्यू को छोड़कर; अर्थात यह नल-टर्मिनेटेड स्ट्रिंग की लंबाई लौटाता है। | sizeof किसी भी प्रकार के डेटा (आवंटित) का वास्तविक आकार बाइट्स में गणना करता है, नल वैल्यू सहित। |
| 3 | नल हैंडलिंग (Null handling) | strlen नल को बाहर रखता है और इसे स्ट्रिंग की कुल लंबाई की गणना में शामिल नहीं करता। | sizeof वेरिएबल के मान की परवाह नहीं करता; यह किसी भी प्रकार के डेटा (आवंटित) का वास्तविक आकार बाइट्स में गणना करता है, नल वैल्यू सहित। |