在C或C ++中是否存在鋸齒狀數組之類的東西?當我編譯時:int jagged[][] = { {0,1}, {1,2,3} };我收到此錯誤:錯誤:將“鋸齒狀”聲明為多維數組時,除第一個數組外,所有維都必須具有邊界
3 回答

一只萌萌小番薯
TA貢獻1795條經驗 獲得超7個贊
有很多方法可以做到。這是另一種方式:
int jagged_row0[] = {0,1};
int jagged_row1[] = {1,2,3};
int *jagged[] = { jagged_row0, jagged_row1 };

PIPIONE
TA貢獻1829條經驗 獲得超9個贊
在C ++中(未編譯,可能有更緊湊的語法):
std::vector<std::vector<int> > myArray;
myArray.push_back(std::vector<int>());
myArray.push_back(std::vector<int>());
myArray[0].push_back(0);
myArray[0].push_back(1);
myArray[1].push_back(1);
myArray[1].push_back(2);
myArray[1].push_back(3);
因此,現在您可以使用myArray [0] [0]等訪問元素。
- 3 回答
- 0 關注
- 744 瀏覽
添加回答
舉報
0/150
提交
取消