我想知道,获取给定内存地址的头指针的最佳方法是什么?例如,如果 p
分配在地址 0
大小为 32 bytes
我怎样才能回到 0
来自地址 12
?换句话说,从进一步进入其数据结构的地址返回到“主地址”。这可能吗?
欢迎任何帮助,谢谢!
最佳答案
对于结构,这可以使用 container_of
宏来完成,前提是您知道它的类型并且您有一个指向它的成员的指针(例如,如果给定一个指针,则获取结构的指针给成员(member))。对于使用 malloc
完成的内存分配,这是不可能的,除非你有你已经遍历的长度或当前的偏移量。
关于c++ - 如何获得指针的头部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14292051/