内存分配和C编程

马修

我正在学习C语言,并且在理解内存分配和内存地址方案方面遇到问题。

  • 我有2个整数,第一个整数具有地址22fd58,第二个整数具有地址22fd60。这就是我陷入困境的关键所在。一个整数长4个字节,因此,如果第一个整数以22fd58开头,则第二个整数必须以22fd5c开头。如果一个地址持有一个字节。

那么我的逻辑漏洞在哪里?我正在64位系统上工作。

peterh-恢复莫妮卡

嘿,它们是十六进制值!:-)在0x22fd58和0x22fd60之间有8个字节的差异!:-)不是2!:-)

从我可以看到的内存地址来看,您可能正在使用Windows。在64位Win上的Visual C使用8个字节整数,因此一切都必须进行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章