我在我的程序中做這個任務,我得到了一個標題的警告。以下是代碼片段:海灣合作委員會警告:賦值使指針沒有轉換的整數
table_name[index] = NULL;
我不明白什麼可以在這樣的聲明是一個問題。
我在我的程序中做這個任務,我得到了一個標題的警告。以下是代碼片段:海灣合作委員會警告:賦值使指針沒有轉換的整數
table_name[index] = NULL;
我不明白什麼可以在這樣的聲明是一個問題。
NULL是而不是一個有效的整數,它被分配給一個由大概int
組成的數組的條目,所以編譯器在抱怨。
NULL用作指示「無」的默認指針值。如果您有一個指針變量並將NULL指定給它,您會說指針變量指向「無」。
因爲這種類型不匹配的,具體的消息是警告你,你正在嘗試不嘗試投它(這是我們如何有時將一個分配一個類型(其實是一個指針值)到另一個(int
)鍵入另一個以避免類型不匹配)。
如果你有一個指針的數組,這個NULL的賦值就完全可以。
問題是table_name[index]
是一個整數值,而不是指針。 NULL
是爲了表示指針。
如果table_name
被聲明爲int*
,你可以做table_name = NULL;
沒有問題,而是一個指數在設定值時,編譯器會期望你使用相同類型的數組。