打印

sizeof疑问

[复制链接]
1078|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sinadz|  楼主 | 2012-5-13 11:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有一个函数,参数中有一个一维数组,长度不填,我想在函数中求得数组的长度,有没有什么方法?
我想用sizeof(数组)/sizeof(数组[0])来求,可是不行,后来我百度了一下,有人说是因为sizeof是在编译的时候就把值确定了,所以我觉得在函数里用sizeof应该是得不到的数组大小的,请问有没有什么方法可以可以求出来?

相关帖子

沙发
pkat| | 2012-5-13 11:32 | 只看该作者
不能,因为数组在作为参数的传递过程中会退化为指针,不再保留原来的信息了。所以你无法获得到它的大小。传递参数的时候最好把大小也一起传递过去。

使用特权

评论回复
板凳
shenmu2012| | 2012-5-14 15:15 | 只看该作者
sizeof 就是用来求数组的大小的啊,我在代码中经常用的啊

使用特权

评论回复
地板
shenmu2012| | 2012-5-14 15:16 | 只看该作者
不过,若初始化设置一数组的size为10字节的话,后来实际用到的只有8个字节,那么用sizeof结果会是10而不是8 的

使用特权

评论回复
5
vivilzb1985| | 2012-5-15 13:36 | 只看该作者
关于sizeof,我的理解水平也只到4楼水平,顶一个算了

使用特权

评论回复
6
wulala| | 2012-9-12 21:38 | 只看该作者
同样求解

使用特权

评论回复
7
huangxz| | 2012-9-12 23:40 | 只看该作者
这种问题还是用结构体实现吧,因为作为参数传递的数组其实就是指针,没有确定大小

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

304

主题

2313

帖子

0

粉丝