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