Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में sizeof ऑपरेटर का परिणाम


Sizeof ऑपरेटर C भाषा में सबसे अधिक उपयोग किए जाने वाले ऑपरेटर्स में से एक है जिसका उपयोग किसी भी डेटा स्ट्रक्चर या डेटा टाइप के आकार की गणना के लिए किया जाता है जिसे हम इसके माध्यम से पास करते हैं। sizeof ऑपरेटर अनसाइन्ड इंटीजर टाइप लौटाता है, और इस ऑपरेटर को प्रिमिटिव और कंपाउंड डेटा टाइप्स पर लागू किया जा सकता है। हम sizeof ऑपरेटर को सीधे डेटा टाइप्स पर उपयोग कर सकते हैं और जान सकते हैं कि यह कितनी मेमोरी ले रहा है −

उदाहरण

#include <bits/stdc++.h> using namespace std; int main() {    cout << sizeof(int) << "\n";    cout << sizeof(char) << "\n";    cout << sizeof(float) << "\n";    cout << sizeof(long) << "\n";    return 0; }

आउटपुट

4 1 4 8 8

इस कार्यक्षमता का उपयोग करके, हम जान सकते हैं कि इस डेटा टाइप का कोई भी वेरिएबल कितना स्पेस लेता है। आउटपुट कंपाइलर पर भी निर्भर करता है क्योंकि एक 16_बिट कंपाइलर int के लिए 32_बिट कंपाइलर की तुलना में अलग मान देगा।

हम इस ऑपरेशन को एक एक्सप्रेशन पर भी लागू कर सकते हैं −

उदाहरण

#include <bits/stdc++.h> using namespace std; int main() {    cout << sizeof(int) << "\n";    cout << sizeof(char) << "\n";    cout << sizeof(float) << "\n";    cout << sizeof(double) << "\n";    cout << sizeof(long) << "\n";    return 0; }

आउटपुट

4 4

जैसा कि आप देख सकते हैं, x का पिछला मान चार था, और प्रीफिक्स ऑपरेशन के बाद भी यह समान रहता है। यह सब sizeof ऑपरेटर के कारण है क्योंकि यह ऑपरेटर कंपाइल-टाइम के दौरान उपयोग किया जाता है, इसलिए यह उस एक्सप्रेशन का मान नहीं बदलता जिस पर हमने इसे लागू किया है।

sizeof ऑपरेटर की आवश्यकता

sizeof ऑपरेटर के विभिन्न उपयोग हैं। फिर भी, इसका मुख्य उपयोग ऐरे, स्ट्रक्चर, यूनियन आदि जैसे कंपाउंड डेटा टाइप के आकार को निर्धारित करने के लिए किया जाता है।

उदाहरण

#include <bits/stdc++.h> using namespace std; int main() {    int arr[] = {1, 2, 3, 4, 5}; // दिया गया ऐरे    int size = sizeof(arr) / sizeof(int); // ऐरे का आकार गणना करना    cout << size << "\n"; // दिए गए ऐरे का आकार आउटपुट करना }

आउटपुट

5

यहां सबसे पहले, हम पूरे ऐरे का आकार गणना करते हैं या यह कितनी मेमोरी ले रहा है। फिर हम उस संख्या को डेटा टाइप के sizeof से विभाजित करते हैं; इस प्रोग्राम में, यह int है।

इस ऑपरेटर का दूसरा सबसे महत्वपूर्ण उपयोग केस डायनामिक मेमोरी आवंटित करना है, इसलिए हम स्पेस आवंटित करते समय sizeof ऑपरेटर का उपयोग करते हैं।

उदाहरण

#include <bits/stdc++.h> using namespace std; int main() {    int* ptr = (int*)malloc(10 * sizeof(int)); // यहां हम 40 बाइट्स की मेमोरी आवंटित करते हैं    // sizeof(int) 4 है और हम 10 ब्लॉक आवंटित कर रहे हैं    // यानी 40 बाइट्स }

निष्कर्ष

इस लेख में, हम sizeof ऑपरेटर के उपयोग और इसके काम करने के तरीके पर चर्चा कर रहे हैं। हमने इसके उपयोग के मामलों के विभिन्न प्रकारों को कोडित करके आउटपुट देखा और चर्चा की। हमने इस ऑपरेटर के उपयोग के मामलों को C++ में लागू किया। हम इसी प्रोग्राम को C, Java, Python आदि अन्य भाषाओं में लिख सकते हैं। आशा है कि आपको यह लेख उपयोगी लगा होगा।


  1. - C++ में sizeof() को ऑपरेटर के रूप में क्यों लागू किया गया है?

    C++ में sizeof एक वास्तविक ऑपरेटर नहीं है। यह केवल एक विशेष सिंटैक्स है जो अपने आर्गुमेंट के आकार के बराबर एक स्थिरांक डालता है। sizeof को किसी रनटाइम सपोर्ट की आवश्यकता नहीं होती। sizeof को ओवरलोड नहीं किया जा सकता क्योंकि बिल्ट-इन ऑपरेशन, जैसे एक ऐरे में पॉइंटर को इन्क्रीमेंट करना,implicitly इस प

  1. - C++ में sizeof ऑपरेटर क्या है?

    sizeof एक कीवर्ड है, लेकिन यह एक कंपाइल-टाइम ऑपरेटर है जो बाइट्स में एक वेरिएबल या डेटा प्रकार का आकार निर्धारित करता है। sizeof ऑपरेटर का उपयोग क्लासेस, स्ट्रक्चर्स, यूनियन्स और किसी भी अन्य यूजर-डिफाइंड डेटा प्रकार के आकार को प्राप्त करने के लिए किया जा सकता है। sizeof का उपयोग करने का सिंटैक्स न

  1. - C++ में यूनरी ऑपरेटर

    यूनरी ऑपरेटर वे ऑपरेटर हैं जो एक नया मान उत्पन्न करने के लिए एक ऑपरेंड पर कार्य करते हैं। यूनरी ऑपरेटर निम्नलिखित हैं: ऑपरेटर्स विवरण इनडायरेक्शन ऑपरेटर (*) यह एक पॉइंटर वेरिएबल पर कार्य करता है और उस पॉइंटर पते पर मान के बराबर एक l-value लौटाता है। इसे पॉइंटर को डीरेफरेंस करना कहा जाता है।