सी में स्ट्रिंग के लिए स्ट्रेलन () और साइज़ोफ़ () के बीच अंतर

विषय - सूची:

Anonim

स्ट्रलेन क्या है ()

strlen () एक स्ट्रिंग की लंबाई खोजने के लिए एक फ़ंक्शन है। यह कुल वर्णों को गिनता है जो एक स्ट्रिंग में प्रस्तुत होते हैं, अशक्त वर्ण को समाप्त करते हैं। स्ट्रिंग में वर्णों की कुल संख्या में, रिक्त स्थान के साथ वर्णमाला, विशेष वर्ण और संख्याएं शामिल हैं।

C ट्यूटोरियल में स्ट्रिंग के लिए स्ट्रलेन () और साइज़ोफ़ () के बीच के अंतर में, आप सीखेंगे:

  • स्ट्रलेन क्या है ()
  • आकार क्या है ()
  • स्ट्रेलन का सिंटैक्स ()
  • आकार का सिंटैक्स ()
  • Strlen () और sizeof () के बीच अंतर

आकार क्या है ()

Sizeof () एक फ़ंक्शन है जिसका उपयोग इसके ऑपरेंड के आकार की गणना करने के लिए किया जाता है। यह विशेष चर का आकार लौटाता है। यह फ़ंक्शन किसी भी डेटा प्रकार पर लागू किया जा सकता है, जिसमें पूर्णांक और पॉइंटर प्रकार, फ़्लोटिंग-पॉइंट प्रकार, संरचना या संघ जैसे आदिम प्रकार शामिल हैं। 32-बिट सिस्टम और 64-बिट सिस्टम पर साइज़ोफ () वाले प्रोग्राम का आउटपुट अलग हो सकता है।

प्रमुख स्रोत:

  • स्ट्रेंन विधि का उपयोग सरणी की लंबाई ज्ञात करने के लिए किया जाता है जबकि आकार () विधि का उपयोग डेटा के वास्तविक आकार को खोजने के लिए किया जाता है।
  • Strlen () एक स्ट्रिंग में वर्णों की संख्या को गिनता है जबकि sizeof () एक ऑपरेंड के आकार को वापस करता है।
  • Strlen () वेरिएबल के शून्य मान के लिए दिखता है लेकिन sizeof () वेरिएबल वैल्यू की परवाह नहीं करता है।
  • Strlen में रिटर्न मान () साइज़ोफ में दूसरी ओर रिटर्न मान है () अहस्ताक्षरित int है।

स्ट्रेलन का सिंटैक्स ()

strcount = strlen(my_string);

यहाँ, my_string एक वर्ण सरणी चर है।

स्ट्रलेन का उदाहरण ()

नीचे सी कार्यक्रम में, हमने टाइप चर के स्ट्रिंग चर की घोषणा की है। स्ट्रिंग चर स्ट्रिंग की लंबाई को खोजने के लिए strlen () फ़ंक्शन के तर्क के रूप में पारित किया गया है।

#include#includeint main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}

आउटपुट:

Length of given string is: 7

आकार का सिंटैक्स ()

सिंटैक्स 1)

sizeof (प्रकार): प्रकार = संदर्भित प्रकार

आकार का उदाहरण (प्रकार):

नीचे दिए गए कोड में, और प्रकार चर (डबल x) का पता देता है। यह 1 के साथ बढ़ा हुआ है जो पता देता है जहां आप टाइप x के अगले चर को स्टोर कर सकते हैं।

X को char * में टाइप करना और अंतर लेने से आप मेमोरी में स्टोर किए गए प्रकार के चर के कुल संख्या को जान पाएंगे। हमने चरित्र पढ़ने के लिए गेटचार () का उपयोग किया है।

#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}

आउटपुट:

8

सिंटैक्स 2)

sizeof (चर-नाम): चर-नाम = उस चर का नाम जिसे आप आकार निर्धारित करना चाहते हैं।

नीचे सी कार्यक्रम में, हम आकार चार डेटा प्रकार मुद्रित कर रहे हैं। Printf स्टेटमेंट में आर्गुमेंट char के साथ sizeof फंक्शन हैं।

आकार का उदाहरण (चर-नाम):

#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}

आउटपुट:

sizeof(char) = 1

सिंटैक्स 3)

sizeof (अभिव्यक्ति): अभिव्यक्ति = अभिव्यक्ति का आपको मूल्यांकन करना होगा।

आकार का उदाहरण (अभिव्यक्ति):

नीचे दिए गए कार्यक्रम में, हम पहले चर के आकार की गणना और मुद्रण कर रहे हैं। इसके बाद, हम अभिव्यक्ति का मूल्यांकन कर रहे हैं, इसे चर ए में संग्रहित करते हैं, और परिणाम प्रिंटफ स्टेटमेंट में प्रदर्शित करते हैं।

#includeint main() {char p = 'S';double q = 4.65;printf("Size of variable p : %d\n",sizeof(p));printf("Size of an expression : %d\n",sizeof(p+q));int a = (int)(p+q);printf("Size of explicitly converted expression : %d\n",sizeof(a));return 0;}

आउटपुट:

Size of variable p : 1Size of an expression : 8Size of explicitly converted expression : 4

Strlen () और sizeof () के बीच अंतर

यहाँ strlen () और sizeof () के बीच महत्वपूर्ण अंतर हैं:

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