如何在指针中隐藏数据?

preview
需积分: 0 0 下载量 41 浏览量 更新于2020-12-22 收藏 51KB PDF 举报
编写 C 语言代码时,指针无处不在。我们可以稍微额外利用指针,在它们内部暗中存储一些额外信息。为实现这一技巧,我们利用了数据在内存中的自然对齐特性。   内存中的数据并非保存在任意地址。处理器通常按照其字大小相同的块读取内存数据;那么考虑到效率因素,编译器会按照块大小的整数倍对内存中的实体进行地址对齐。因此在32位的处理器上,一个4字节整型数据肯定存放在内存地址能被4整除的地方。   下面,假设系统中整型数据和指针大小均为 4 字节。   现在有一个指向整型的指针。如上所述,整型数据可以存放在内存地址0×1000或者0×1004或者0×1008,但是决不会存放在0×1001或者0×100
身份认证 购VIP最低享 7 折!
30元优惠券