solidity二维数组定义:
type[m][n] arr
定义了一个n行,m列的二维数组(与平时c,c++等的定义不同)
pragma solidity ^0.4.23;
contract arr{
//声明一个二维动态数组
bool[2][] testArr;
function arr1() public {
uint i = 0;
//将可变尺寸的二维数组长度设为20
testArr = new bool[2][](20);
for(i = 0;i < testArr.length;i++){
testArr[i][0] = true;
testArr[i][1] = false;
}
}
//返回二维数组的内容
function getArr() public view returns(bool[2][]){
return testArr;
}
//返回二维数组第data个数组的内容
function getArr1(uint data) public view returns(bool[2]){
return testArr[data];
}
//向动态二维数组添加元素
function add(bool[2] data) public{
testArr.push(data);
}
//返回动态二维数组长度
function getLength() public view returns(uint){
return testArr.length;
}
}
在remix里进行编译部署
编译
部署
点击arr1,再点击getArr,再获取长度
添加数据[false,false]