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

C में अपना खुद का sizeof कैसे इम्प्लीमेंट करें


C में sizeof() ऑपरेटर का उपयोग करके किसी वेरिएबल का आकार जानने के लिए, हम उसका एड्रेस लेते हैं और फिर उसमें 1 जोड़कर अंतर निकालते हैं। यह तकनीक पॉइंटर अंकगणित पर आधारित है।

कार्यप्रणाली

जब हम किसी वेरिएबल x का एड्रेस &x लेते हैं और फिर &x + 1 करते हैं, तो कंपाइलर स्वचालित रूप से उस वेरिएबल के डेटा टाइप के आकार के अनुसार एड्रेस को बढ़ा देता है। यदि हम (char*) से कास्ट करते हैं, तो प्रत्येक बाइट को अलग-अलग गिना जाता है। इस प्रकार, (char*)(&x + 1) - (char*)(&x) हमें x का आकार बाइट्स में देता है।

उदाहरण

#include <stdio.h>
#define my_sizeof(type) ((char*)(&type + 1) - (char*)(&type))

int main(void) {
    int x = 10;
    char y = 'f';
    double z = 254748.23;
    
    printf("size of x: %zu\n", my_sizeof(x));
    printf("size of y: %zu\n", my_sizeof(y));
    printf("size of z: %zu\n", my_sizeof(z));
    
    return 0;
}

आउटपुट

size of x: 4
size of y: 1
size of z: 8

महत्वपूर्ण बिंदु

  • यह मैक्रो किसी भी डेटा टाइप के साथ काम करता है क्योंकि यह टाइप-इंडिपेंडेंट है।
  • (char*) कास्टिंग सुनिश्चित करती है कि पॉइंटर अंकगणित बाइट-स्तर पर हो।
  • %zu फॉर्मेट स्पेसिफायर size_t टाइप के लिए सही है।
  1. अपनी खुद की विकी साइट कैसे बनाएं अपनी खुद की विकी साइट कैसे बनाएं

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

  1. अपना खुद का YouTube चैनल कैसे बनाएं अपना खुद का YouTube चैनल कैसे बनाएं

    आपके पास एक लेट्स प्ले श्रृंखला के लिए एक विचार है जिसे आप आश्वस्त हैं कि इंटरनेट का दिमाग उड़ा देगा, या शायद आप एक नए प्रकार के फ्यूजन खाना पकाने में डबिंग कर रहे हैं और दुनिया के साथ इसे साझा करने के लिए कैमरे का सामना करने का करिश्मा रखते हैं। हमारे अनुमान से, अपना खुद का YouTube चैनल शुरू करने क

  1. अपने खुद के QR कोड कैसे बनाएं? अपने खुद के QR कोड कैसे बनाएं?

    आजकल, कई एप्लिकेशन और कमर्शियल कंपनियां अपने ग्राहकों को बढ़ाने के लिए QR कोड का उपयोग कर रही हैं। QR कोड स्वयं विवरण बताए बिना दूसरों के साथ जानकारी साझा करने का सबसे आसान तरीका है। यह इन वर्षों में बहुत अधिक लोकप्रिय हो गया है क्योंकि हर किसी के पास QR कोड स्कैन करने के लिए कैमरे वाला फोन है। हाला