0
我试图检查一个数组的索引是否有值。指针和整数之间的比较('int'和'void *') - C
void * cols;
...
...
if (((int*)cols)[1]==NULL){
counter++;
columns++;
}
else
{
value=((int*)cols)[1];
fprintf(f, "Validation result from process id: %u. :column %d is invalid\n", (unsigned int)thread_10,value);
}
这给了我一个警告“比较指针和整数('int'和'void *')”。我究竟做错了什么 ?我如何检查索引是否为空?另外我不能检查0,因为在我的情况下,0是一个有效值,这意味着如果索引保持值0意味着它是有效的。
只有指针可以是'NULL'。 '((int *)cols)[1]'是一个'int',而不是指针。并没有“空变量”这样的东西,所以你不能检查一个数组是否有一些值赋予它。你,程序员,需要跟踪它。 –