假设我有一个数组 arr
。以下何时不会给出数组元素的数量: sizeof(arr) / sizeof(arr[0])
?
我只能处理一种情况:数组包含属于数组类型的不同派生类型的元素。
我是对的吗,是否存在(我几乎肯定 肯定 存在)其他此类情况?
很抱歉这个琐碎的问题,我是一名 Java 开发人员,而且我对 C++ 还很陌生。
谢谢!
原文由 Albus Dumbledore 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.5k 阅读
3 回答469 阅读✓ 已解决
我经常看到新程序员这样做的一件事:
所以新程序员认为
count
的值是 10。但这是错误的。即使这是错误的:
这都是因为一旦将数组传递给这些函数中的任何一个,它就会变成 指针 类型,因此
sizeof(arr)
会给出 指针 的大小,而不是数组!编辑:
以下是一种优雅的方式,您可以将数组传递给函数,而不会让它衰减为指针类型: