精華區beta Programming 關於我們 聯絡資訊
※ 引述《weber.bbs@cis.nctu.edu.tw (水月靜心)》之銘言: : 一維陣列只要如下就可以 : 那二維陣列呢? : 謝謝大家的指教 : test(int* a) : {.....} : main() : { : test(A) : } Example void test(char [][5]); void main() { int Array[12][5]; test(Array); } void test(char tmp[][5]) { ........ } 其中 char [][5]; 的第一個 [] 是對 Array 的 12 組資料而言 (每一組5元素) 基本上這些元數的位置都是相連的 所以必須給訂每一組的元素數量 看成一線性關係 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 ...... | | | | | | | | +------------+ +------------+ +------------+ +------------+ Array[0][0] Array[1][0] Array[2][0] Array[3][0] ..... | | | | Array[0][4] Array[1][4] Array[2][4] Array[3][4] ..... 從這一點也可看出為什麼要指定 [5] 這樣編譯器才知道每一組數量多少 另外 tmp 是每一組第一個元素位置儲存的陣列的位置 *tmp 是第一組陣列的第一個元素的位置 ( tmp[] ) **tmp 是第一組第一個元素的值 ( tmp[][] ) -- ※ 作者來自: fhnews.v1.dorm.ncku.edu.tw Origin: 私立輔英技術學院 輔英天使BBS站 bbs.fy.edu.tw(140.127.86.240)