在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 关注
- 701 浏览
添加回答
举报
0/150
提交
取消