首頁 > 後端開發 > C++ > 主體

你將如何展示C變數的記憶體表示?

PHPz
發布: 2023-09-09 13:29:06
轉載
699 人瀏覽過

你將如何展示C變數的記憶體表示?

這裡我們將看到如何列印 C 變數的記憶體表示。這裡我們將顯示整數、浮點數和指針。

要解決這個問題,我們必須遵循以下步驟-

  • 取得位址和變數的大小
  • 將位址類型轉換為字元指標以取得位元組位址
  • 現在循環取得變數的大小並列印類型轉換的指標的值。
  • 範例

    #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);
    }
    登入後複製

    輸出

    05 00 00 00
    00 00 00 40
    3c fe 22 00 00 00 00 00
    05 00 00 00
    登入後複製

以上是你將如何展示C變數的記憶體表示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板