首頁 >後端開發 >C++ >如何在 C 語言中將二維數組轉換為指標到指標?

如何在 C 語言中將二維數組轉換為指標到指標?

Barbara Streisand
Barbara Streisand原創
2024-11-13 08:33:02518瀏覽

How do you Convert a 2D Array to a Pointer-to-Pointer in C  ?

在C 語言中將2D 數組轉換為指針到指針

許多開發人員發現自己處於需要將2D 數組轉換為指針的情況- C 中的to指針。這種轉換並不像看起來那麼簡單,而且沒有直接的方法可以在不引入中間步驟的情況下完成它。

問題陳述

給定一個二維物件陣列:

Activity solution[a][b];

目標是將其轉換為指標到指標表示形式:

Activity **mother = solution;

解決方案

從2D 陣列到指標的簡單轉換由於類型不相容,指標將無法運作。為了彌補這一差距,需要一個額外的「行索引」數組作為中間步驟:

Activity *solution_rows[a] = { solution[0], solution[1], /* etc. */ };
Activity **mother = solution_rows;

現在,訪問mother[i][j] 將授予對Solution[i][j] 的訪問權限。這種方法保留了 2D 數組的語義,同時提供所需的指標到指標表示。

以上是如何在 C 語言中將二維數組轉換為指標到指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn