您的位置:首页 > 其它

如何只通过指针获取所指内容的大小

2017-12-29 16:54 113 查看
       如何只通过指针获取所指内容的大小,只要会看内存,就能通过指针找到所指内容的大小。

      在网上找了许久都没有找到答案,都说不能通过指针获取所指内容的大小,抱着好奇的态度去内存中寻找,还真让我给找到了。我用的是linux。

      随便在堆上new一块地址;

       int *p=new int;

      跟内存在p值的基础上减8字节,会发现有一个值为0x00000021;当

      int *p=new int[7];

     会发现有一个值位0x00000031;

     之后会以数组增加4为等差增加;

     为什么会这样呢?

     因为对于这个指针来说它会有一个开始的地方和结束的地方,各占8字节;以0x00000021开始,以0x0000f181结束;

     总归一句话:类同于分页机制;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐