首页  >  文章  >  后端开发  >  你将如何展示C变量的内存表示?

你将如何展示C变量的内存表示?

PHPz
PHPz转载
2023-09-09 13:29:06699浏览

你将如何展示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删除