在C中没有“空数组”或“空元素”这样的东西。数组总是保存一个固定的预定数量的元素,并且每个元素总是保存一些值。
引入“空”元素概念的唯一方法是自己实现它。您必须决定将保留哪个元素值作为“空值”。然后你必须用这个值初始化你的数组元素。稍后,您将把这些元素与那个“空”值进行比较,看看它们是否……嗯,是空的。
在您的例子中,有问题的数组由指针组成。在这种情况下,选择空指针值作为指定“空”元素的保留值显然是一个好的选择。将结果数组声明为
代码语言:javascript复制char * results[10] = { 0 }; // or `= { NULL };`稍后检查元素,如下所示
代码语言:javascript复制if (results[i] == NULL) // or `if (!results[i])`
/* Empty element */