【发布时间】:2011-07-18 20:26:42
【问题描述】:
我正在使用具有大量固定长度数组的 ANSI C。与其为每个数组设置一个数组长度变量,不如在数组末尾添加一个“NULL”终止符似乎更容易,类似于字符串。在我当前的应用程序中,我使用的是“999999”,它永远不会出现在实际数组中。我可以通过查找终止符来执行循环并确定数组长度。这是一种常见的方法吗?它有什么问题?谢谢。
【问题讨论】:
-
sizeof(my_array)/sizeof(my_array_type)有什么问题? -
@Ed:
sizeof(my_array) / sizeof(*my_array)为您提供数组的大小(容量),而不是根据程序逻辑使用的实际元素。 -
如果您使用的是固定长度的数组,那么为什么需要终止它们呢?终结符用于可变长度字符串/数组。如果它们实际上是可变长度的,那么@yan 在下面有正确的答案。
-
@Mannimarco:“会员 5 个月”不用担心。你会看到更多。