| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6721 人关注过本帖
标题:一个动态的指针数组怎样获得长度?
取消只看楼主 加入收藏
蓝天飞鸿
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
快速回复:一个动态的指针数组怎样获得长度?
数据加载中...
 
   



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

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