C++怎样返回数组的实际长度? 例: { …… int array[10000]={1,2,3,4,6,79};// 返回数组的实际长度 ……
8个回答
推荐于2017-09-13
展开全部
定义数组时别给出元素个数
int array[ ]={1,2,3,4,6,79};
然后通过sizeof函数来确定元素个数
sizeof(array)/sizeof(int); 这就是数组的实际长度
int array[ ]={1,2,3,4,6,79};
然后通过sizeof函数来确定元素个数
sizeof(array)/sizeof(int); 这就是数组的实际长度
展开全部
你一旦定义了了数组,那么数组的实际长度就已经确定了。数组长度是不可变的。想知道你真正使用了多少,这个你在编程的时候应该心里有数。
如果在定义数组的时候直接初始化了,并且没有明确指出数组元素个数(其实在初始化时已经确定了),可以sizeof整个数组除以sizeof数组元素类型就得到了。
如果在定义数组的时候直接初始化了,并且没有明确指出数组元素个数(其实在初始化时已经确定了),可以sizeof整个数组除以sizeof数组元素类型就得到了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a[10];
sizeof(a) 就是数组所占用的字节数 也就是长度 在32位机器上是40
如果你要求的是当前数组中元素的个数,可以用
个数 = sizeof(a)/sizeof(int)
如果是 char a[10] 就是 sizeof(a)/sizeof(char)
希望对你有帮助 原作者是lyly0904
sizeof(a) 就是数组所占用的字节数 也就是长度 在32位机器上是40
如果你要求的是当前数组中元素的个数,可以用
个数 = sizeof(a)/sizeof(int)
如果是 char a[10] 就是 sizeof(a)/sizeof(char)
希望对你有帮助 原作者是lyly0904
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组长度 标准答案:
sizeof(array) / sizeof(array[0])
“实际长度” 是不是指这个就不知道了。
sizeof(array) / sizeof(array[0])
“实际长度” 是不是指这个就不知道了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i;
i = 0;
while( 0 != a[i] )
{
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 的值就是 非零元素的个数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询