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

C वेरिएबल्स की मेमोरी रिप्रेजेंटेशन कैसे दिखाएं


C में किसी वेरिएबल की मेमोरी रिप्रेजेंटेशन (बाइट-स्तरीय दृश्य) देखने के लिए, हम उसके एड्रेस को unsigned char* (बाइट पॉइंटर) में कास्ट करके प्रत्येक बाइट को प्रिंट कर सकते हैं।

चरण

  1. वेरिएबल का एड्रेस और आकार (sizeof) प्राप्त करें।
  2. एड्रेस को unsigned char* (या byte_pointer) में कास्ट करें।
  3. लूप चलाकर आकार जितनी बाइट्स प्रिंट करें।

उदाहरण

#include <stdio.h>

typedef unsigned char *byte_pointer;

void disp_bytes(byte_pointer ptr, int len) {
    for (int i = 0; i < len; i++)
        printf(" %.2x", ptr[i]);
    printf("\n");
}

void disp_int(int x) {
    disp_bytes((byte_pointer) &x, sizeof(int));
}

void disp_float(float x) {
    disp_bytes((byte_pointer) &x, sizeof(float));
}

void disp_pointer(void *x) {
    disp_bytes((byte_pointer) &x, sizeof(void *));
}

int main() {
    int i = 5;
    float f = 2.0;
    int *p = &i;
    
    disp_int(i);
    disp_float(f);
    disp_pointer(p);
    disp_int(i);
    
    return 0;
}

आउटपुट

05 00 00 00 00 00 00 40 3c fe 22 00 00 00 00 00 05 00 00 00

व्याख्या

  • इंटीजर (5): लिटिल-एंडियन में 05 00 00 00।
  • फ्लोट (2.0): IEEE 754 फॉर्मेट में 00 00 00 40।
  • पॉइंटर: सिस्टम आर्किटेक्चर (32/64-बिट) के अनुसार एड्रेस।

नोट: आउटपुट एंडियननेस और आर्किटेक्चर पर निर्भर करता है।

  1. एक मजबूत पासवर्ड कैसे बनाएं जिसे आप भूल न जाएं एक मजबूत पासवर्ड कैसे बनाएं जिसे आप भूल न जाएं

    सबसे अच्छा पासवर्ड वह है जिसे क्रैक करना कठिन हो और याद रखना आसान हो। फिर भी, सबसे अधिक उपयोग किए जाने वाले कुछ पासवर्ड हास्यास्पद रूप से अनुमान लगाने में आसान हैं, जैसे पासवर्ड या 123456। ऐसे पासवर्ड आपको पासवर्ड स्प्रेइंग और अन्य प्रकार की हैकिंग का शिकार बना सकते हैं। इनका उपयोग न करें! एक मजबूत

  1. Matplotlib में लीजेंड में केवल टेक्स्ट लेबल कैसे दिखाएं (मार्कर/लाइन छुपाएं)? Matplotlib में लीजेंड में केवल टेक्स्ट लेबल कैसे दिखाएं (मार्कर/लाइन छुपाएं)?

    लीजेंड में केवल टेक्स्ट दिखाने के लिए legend() में handlelength=0, handletextpad=0, fancybox=False सेट करें। चरण फिगर साइज़ और ऑटोलेआउट सेट करें। रैंडम डेटा प्लॉट करें और लेबल दें। ax.legend(loc=upper right, handlelength=0, handletextpad=0, fancybox=True) से लीजेंड बनाएं। plt.show() से दिखाएं। उदा

  1. एक्सेल में वेरिएबल रिलेशनशिप विज़ुअलाइज़ करना: एक चरण-दर-चरण गाइड एक्सेल में वेरिएबल रिलेशनशिप विज़ुअलाइज़ करना: एक चरण-दर-चरण गाइड

    इस लेख में, हम एक्सेल ग्राफ में दो वेरिएबल के बीच संबंध दिखाना सीखेंगे। हमारे जीवन में, विशेष रूप से व्यवसाय और विज्ञान के क्षेत्र में, हम अक्सर आवश्यक कदम उठाने के लिए भविष्य के परिणाम का अनुमान लगाने की आवश्यकता होती है। लेकिन ऐसा करने के लिए, हमें पहले वेरिएबल्स के बीच संबंध जानने की आवश्यकता होत