C में sizeof ऑपरेटर का क्या उद्देश्य है?

This question was previously asked in
RRB JE ECE 22 Apr 2025 Shift 2 CBT 2 Official Paper
View all RRB JE Papers >
  1. कम्पाइल समय पर मेमोरी आवंटित करना
  2. गतिशील रूप से मेमोरी आवंटित करना
  3. किसी डेटा प्रकार या वेरिएबल के आकार को बाइट्स में निर्धारित करना
  4. किसी डेटा प्रकार या वेरिएबल के आकार को बिट्स में निर्धारित करना

Answer (Detailed Solution Below)

Option 3 : किसी डेटा प्रकार या वेरिएबल के आकार को बाइट्स में निर्धारित करना
Free
General Science for All Railway Exams Mock Test
20 Qs. 20 Marks 15 Mins

Detailed Solution

Download Solution PDF

व्याख्या:

C में sizeof ऑपरेटर

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

उपयोग: sizeof ऑपरेटर को किसी भी डेटा प्रकार पर लागू किया जा सकता है, जिसमें आदिम प्रकार (जैसे int, float, char), समग्र प्रकार (जैसे ऐरे, संरचनाएँ, यूनियन) और यहां तक कि पॉइंटर्स भी शामिल हैं। यह size_t प्रकार के एक बिना चिह्नित पूर्णांक के रूप में बाइट्स में आकार देता है।

सिंटैक्स:

sizeof(expression)
sizeof(type)

उदाहरण:

#include 

int main() {
    int a;
    double b;
    char c;

    printf("Size of int: %zu bytes\n", sizeof(a));
    printf("Size of double: %zu bytes\n", sizeof(b));
    printf("Size of char: %zu bytes\n", sizeof(c));

    return 0;
}

इस उदाहरण में, sizeof ऑपरेटर का उपयोग विभिन्न डेटा प्रकारों के आकार को निर्धारित करने के लिए किया जाता है। आउटपुट उस विशिष्ट प्लेटफ़ॉर्म पर प्रत्येक डेटा प्रकार को आवंटित किए गए बाइट्स की संख्या होगी जहाँ कोड निष्पादित किया जाता है।

लाभ:

  • पोर्टेबल कोड लिखने का एक तरीका प्रदान करता है, क्योंकि विभिन्न सिस्टम और कंपाइलरों के बीच डेटा प्रकारों का आकार भिन्न हो सकता है।
  • विभिन्न डेटा संरचनाओं के लिए आवंटित करने के लिए कितनी मेमोरी की आवश्यकता है, यह बताकर गतिशील मेमोरी आवंटन में मदद करता है।
  • डेटा संग्रहीत करने के लिए पर्याप्त मेमोरी आवंटित करने को सुनिश्चित करके बफर प्रबंधन में सहायता करता है।

सामान्य उपयोग के मामले:

  • ऐरे आकार गणना: ऐरे घोषित करते समय, ऐरे में तत्वों की संख्या निर्धारित करने में मदद करने के लिए, sizeof ऑपरेटर का उपयोग बाइट्स में ऐरे के कुल आकार और प्रत्येक तत्व के आकार को निर्धारित करने के लिए किया जा सकता है।
  • गतिशील मेमोरी आवंटन: गतिशील मेमोरी आवंटन के लिए malloc() जैसे कार्यों का उपयोग करते समय, sizeof यह सुनिश्चित करता है कि मेमोरी की सही मात्रा आवंटित की गई है।
  • संरचना पैडिंग: कंपाइलर द्वारा जोड़े गए किसी भी पैडिंग सहित, संरचनाओं के आकार को समझना, मेमोरी उपयोग को अनुकूलित करने और उचित संरेखण सुनिश्चित करने के लिए महत्वपूर्ण हो सकता है।

सही विकल्प विश्लेषण:

सही विकल्प है:

विकल्प 3: किसी डेटा प्रकार या वेरिएबल के आकार को बाइट्स में निर्धारित करना।

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

Additional Information

विश्लेषण को और समझने के लिए, आइए अन्य विकल्पों का मूल्यांकन करें:

विकल्प 1:  कम्पाइल समय पर मेमोरी आवंटित करना

यह विकल्प गलत है क्योंकि sizeof ऑपरेटर मेमोरी आवंटित नहीं करता है। इसके बजाय, यह केवल किसी प्रकार या वेरिएबल का आकार देता है। कम्पाइल समय पर मेमोरी आवंटन आमतौर पर कंपाइलर द्वारा नियंत्रित किया जाता है जब यह सोर्स कोड को मशीन कोड में अनुवाद करता है, न कि sizeof ऑपरेटर द्वारा।

विकल्प 2: गतिशील रूप से मेमोरी आवंटित करना

यह विकल्प भी गलत है। जबकि sizeof ऑपरेटर का उपयोग अक्सर malloc() जैसे गतिशील मेमोरी आवंटन कार्यों के साथ किया जाता है, यह स्वयं मेमोरी आवंटन नहीं करता है। यह उपयुक्त मात्रा में मेमोरी आवंटित करने के लिए आवश्यक आकार की जानकारी प्रदान करता है।

विकल्प 4: किसी डेटा प्रकार या वेरिएबल के आकार को बिट्स में निर्धारित करना

यह विकल्प भ्रामक है। sizeof ऑपरेटर बाइट्स में आकार देता है, बिट्स में नहीं। हालाँकि बाइट्स को बिट्स में परिवर्तित किया जा सकता है (1 बाइट = 8 बिट्स), sizeof का प्रत्यक्ष आउटपुट बाइट्स में है।

निष्कर्ष:

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

Latest RRB JE Updates

Last updated on Jun 7, 2025

-> RRB JE CBT 2 answer key 2025 for June 4 exam has been released at the official website.

-> Check Your Marks via RRB JE CBT 2 Rank Calculator 2025

-> RRB JE CBT 2 admit card 2025 has been released. 

-> RRB JE CBT 2 city intimation slip 2025 for June 4 exam has been released at the official website.

-> RRB JE CBT 2 Cancelled Shift Exam 2025 will be conducted on June 4, 2025 in offline mode. 

-> RRB JE CBT 2 Exam Analysis 2025 is Out, Candidates analysis their exam according to Shift 1 and 2 Questions and Answers.

-> The RRB JE Notification 2024 was released for 7951 vacancies for various posts of Junior Engineer, Depot Material Superintendent, Chemical & Metallurgical Assistant, Chemical Supervisor (Research) and Metallurgical Supervisor (Research). 

-> The selection process includes CBT 1, CBT 2, and Document Verification & Medical Test.

-> The candidates who will be selected will get an approximate salary range between Rs. 13,500 to Rs. 38,425.

-> Attempt RRB JE Free Current Affairs Mock Test here

-> Enhance your preparation with the RRB JE Previous Year Papers

Hot Links: teen patti game teen patti mastar teen patti star apk teen patti jodi