C++怎样返回数组的实际长度? 例: { …… int array[10000]={1,2,3,4,6,79};// 返回数组的实际长度 ……

 我来答
匿名用户
推荐于2017-09-13
展开全部
定义数组时别给出元素个数
int array[ ]={1,2,3,4,6,79};
然后通过sizeof函数来确定元素个数
sizeof(array)/sizeof(int); 这就是数组的实际长度
三秒区小王子
2011-11-01 · TA获得超过281个赞
知道小有建树答主
回答量:135
采纳率:100%
帮助的人:102万
展开全部
你一旦定义了了数组,那么数组的实际长度就已经确定了。数组长度是不可变的。想知道你真正使用了多少,这个你在编程的时候应该心里有数。
如果在定义数组的时候直接初始化了,并且没有明确指出数组元素个数(其实在初始化时已经确定了),可以sizeof整个数组除以sizeof数组元素类型就得到了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hugeheadhuge
2011-11-01 · TA获得超过164个赞
知道答主
回答量:35
采纳率:0%
帮助的人:40.7万
展开全部
int a[10];
sizeof(a) 就是数组所占用的字节数 也就是长度 在32位机器上是40
如果你要求的是当前数组中元素的个数,可以用
个数 = sizeof(a)/sizeof(int)
如果是 char a[10] 就是 sizeof(a)/sizeof(char)
希望对你有帮助 原作者是lyly0904
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风流浪荡情61
2011-11-09 · TA获得超过5.2万个赞
知道大有可为答主
回答量:4万
采纳率:0%
帮助的人:5281万
展开全部
数组长度 标准答案:
sizeof(array) / sizeof(array[0])

“实际长度” 是不是指这个就不知道了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
veket_linux
2011-11-01 · TA获得超过4092个赞
知道大有可为答主
回答量:3809
采纳率:0%
帮助的人:4487万
展开全部
int i;
i = 0;
while( 0 != a[i] )
{
i++;
}
追问
这个似乎不具有普遍性吧? 如果数组中有为 0 的数据呢????
追答
如果 被 0 隔开了  要 统计非零 元素个数
例如 1 ,3, 5, 7,0,9,15,21,……

int count;
int i;
count = 0;
i = 0;
while(i<10000)
{
if( 0 != a[i] )
{
count++;
}
i++;
}
循环结束 计数器 count 的值就是 非零元素的个数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式