标题:一个动态的指针数组怎样获得长度?
取消只看楼主
蓝天飞鸿
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-2
 问题点数:0 回复次数:2 
一个动态的指针数组怎样获得长度?
请问各位大侠,对于一个动态的指针数组,怎样能获得它的长度?
谢谢!
搜索更多相关主题的帖子: 指针 动态 长度 
2006-10-02 16:45
蓝天飞鸿
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-2
得分:0 
非常感谢corrupt,在您的帮助下,这个问题正在得到解决!非常感谢!
2006-10-05 21:50
蓝天飞鸿
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-2
得分:0 
另外还想请问一下corrupt兄,既然在分配时前16位存储了分配的内存的大小,那么我们能不能有什么办法直接将前16位中的数读出来?如果能的话,那么就可以直接获得指针数组的长度了。

对于*(int *)((char *)p - 16)这个表达式的理解还是有点不太明白。(char *)p 是将任意指针类型的指针p转化成char指针类型,从而获得包括数组本身和前16位在内的整个数组的总位数,且最小单元为 1 位(而不是2位,4位或者8位),然后再将前16位刨除,就是数组本身的净位数。随后将这个净位数用int指针的最小单元去分解(int *),转化成整型指针。那么,对于(int *)((char *)p - 16)这样一个整型指针进行解引用是什么含义?

(由于我本人刚刚开始这方面的工作,以上问题有不对的地方还请海涵!)
2006-10-05 23:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-93984-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.117688 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved