c - 整数文字如何映射到内存中?
问题描述
看看下面的例子:
int a = 130;
char *ptr;
ptr = (char *) &a;
printf("%d", *ptr);
我希望0
在屏幕上打印一个值,但令我惊讶的是它是-126
. 我得出的结论是,由于char
是 8 位,因此int
可能会四舍五入。
直到现在我一直认为内存是以msb在左边的方式填充的。但现在一切似乎都是喜忧参半。内存究竟是如何分配的?
解决方案
推荐阅读
- javascript - 寻求优化 parentNode 和 nextElementSibling 的使用
- jquery - 我想将 input 和 textarea 的值复制到剪贴板
- shared-libraries - 二进制文件上的 ldd 未显示我的共享库
- django - Django REST 框架获取流通知
- c++ - 使用 CMake 编译时更改头文件的位置会导致缺少 vtable 错误
- android - 首次启动应用程序时访问存储问题
- node.js - Node.js 名称太长,scandir
- python - 在 __init__ 中为变量声明键入 Python
- qt - Qt VS 工具生成不正确的 MOC 命令
- android - 数据库创建?登录按钮什么都不做。AndroidStudio,sqlite