如何在C中的数组中查看元素是否为空?

如何在C中检查数组中的元素是否为空?

if(array[i] == NULL) 

似乎没有用。

空虚是什么意思?

执行C程序时,未显式初始化的变量具有不可预测的值。

您需要将所有数组单元格设置为NULL(或者设置逻辑中为0或表示空白的任何值),然后您可以按照以下方式检查它:

 int *array[3] = { NULL, NULL, NULL }; // array of three "empty" pointers ... for( i = 0; i < 3; ++ i ) { if( array[i] == NULL ) { // i-th cell is "empty" } } 

问题答案:

您发布的是正确的代码。

阐述:

如果它“似乎不起作用”,那么问题可能不在于代码中的这个位置。 如果您要发布更完整的示例,包括代码的预期行为和实际行为,我们可能会帮助您。

假设该array确实是一个指针数组,所提供的单行代码确实应该validation索引i处的元素是否为NULL。

但请注意,如果您的数组未正确初始化(即:为每个单元格提供初始值),则该数组很可能包含垃圾,您的条件最有可能最终为假。