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',而不是指針。並沒有「空變量」這樣的東西,所以你不能檢查一個數組是否有一些值賦予它。你,程序員,需要跟蹤它。 –