一般方法是用雙迴圈來設定二維陣列的值 這裡使用memset來設定陣列初值 #include <cstring> const int X_SIZE = 60 ; const int Y_SIZE = 30 ; int matrix [ X_SIZE ][ Y_SIZE ]; inline void init_matrix () //使用inline加快 { //設定陣列內的值全為-1 memset ( matrix , - 1 , sizeof ( matrix )); } PS: memset(matrix, 1, sizeof(matrix)); //會失敗 memset為字元填入的函式,整數由2或4個位元組(字元)組成 設定的值是0x01,但存入的值卻是0x0101,而導致錯誤的答案 而-1則是0xFF,存入的值是0xFFFF,不會影響答案 原始文章出處: http://jhengjyun.blogspot.tw/2010/02/cc-memset.html