Question
Download Solution PDFC में sizeof ऑपरेटर का क्या उद्देश्य है?
Answer (Detailed Solution Below)
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 का सही उपयोग विभिन्न सिस्टम और कंपाइलरों में डेटा प्रकारों के अलग-अलग आकारों को ध्यान में रखते हुए पोर्टेबल और विश्वसनीय कोड लिखने में योगदान देता है।
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.