2017-09-02 604 views
0

我在將一個2d數組的值賦給int時出現問題,它給了我一個警告:「從指針轉換爲不同大小的整數c」。是否有任何方式的2D陣列的值分配到這樣一個int:從指針轉換爲不同大小的整數c

int main(){ 

    int test[10][10] = {{1}}; 

    int integer = (int) test[0]; 

    return 0; 
} 

回答

0

事實上可以從一個整數二維數組值傳遞給int變量。 你犯了一個小的失誤,你應該這樣寫的:

int integer = test[0][0]; 

,只是爲了避免未來的錯誤,你需要在你的陣列中的其他要素分配更多的變量,否則將收到NULL作爲在某些情況下停止從編譯中編程的值。

0

test [0]表示一行。你不能在整型變量中放置整數數組。

int * integerPointer =(int *)test [0];

將是正確的語法。現在integerPointer作爲一個簡單的數組。

+0

如果我想要將表示數組的特定部分的整數指針與另一行的另一個指針數組進行比較,以確定該行代表哪個數字是最大的那麼該怎麼辦。指針如何進行比較呢? –

+0

由於二維數組得到有序的內存。你可以直接比較指針。第0行的指針值將小於第1行的指針值,以此類推。 –

相關問題