Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah anda akan memaparkan perwakilan memori pembolehubah C?

Bagaimanakah anda akan memaparkan perwakilan memori pembolehubah C?

PHPz
PHPzke hadapan
2023-09-09 13:29:06746semak imbas

Bagaimanakah anda akan memaparkan perwakilan memori pembolehubah C?

Di sini kita akan melihat cara mencetak perwakilan memori pembolehubah C. Di sini kita akan memaparkan integer, nombor titik terapung dan penunjuk.

Untuk menyelesaikan masalah ini kita perlu mengikuti langkah berikut -

  • Dapatkan alamat dan saiz pembolehubah
  • Taip hantar alamat ke penunjuk aksara untuk mendapatkan alamat bait
  • Sekarang gelung untuk mendapatkan saiz pembolehubah dan cetak jenis nilai penuding tuang.
  • Contoh

    #include <stdio.h>
    typedef unsigned char *byte_pointer; //create byte pointer using char*
    void disp_bytes(byte_pointer ptr, int len) {
        //this will take byte pointer, and print memory content
       int i;
       for (i = 0; i < len; i++)
          printf(" %.2x", ptr[i]);
       printf("</p><p>");
    }
    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 *));
    }
    main() {
       int i = 5;
       float f = 2.0;
       int *p = &i;
       disp_int(i);
       disp_float(f);
       disp_pointer(p);
       disp_int(i);
    }

    Output

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

Atas ialah kandungan terperinci Bagaimanakah anda akan memaparkan perwakilan memori pembolehubah C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam