sizeof疑问

[复制链接]
1544|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 的
vivilzb1985 发表于 2012-5-15 13:36 | 显示全部楼层
关于sizeof,我的理解水平也只到4楼水平,顶一个算了
wulala 发表于 2012-9-12 21:38 | 显示全部楼层
同样求解
huangxz 发表于 2012-9-12 23:40 | 显示全部楼层
这种问题还是用结构体实现吧,因为作为参数传递的数组其实就是指针,没有确定大小
您需要登录后才可以回帖 登录 | 注册

本版积分规则

304

主题

2313

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部