
这里我们将看到如何打印 C 变量的内存表示。这里我们将显示整数、浮点数和指针。
要解决这个问题,我们必须遵循以下步骤 –
获取地址和变量的大小将地址类型转换为字符指针以获取字节地址现在循环获取变量的大小并打印类型转换的指针的值。
示例
#include 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("");}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 0000 00 00 403c fe 22 00 00 00 00 0005 00 00 00
以上就是你将如何展示C变量的内存表示?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1444742.html
微信扫一扫
支付宝扫一扫