solidity汇编数组

对于指定长度的数组,第一个位置就是元素第一个值

uint[6] memory _arr = [(uint)1,2,3,4,5,6]
assembly{
    mload(_arr )  //值为1
}

对于未指定长度的数组,第一个位置是数组长度

uint[] arr = [(uint)1,2,3,4,5,6]

function f() public {
  uint[] _arr = arr;
  assembly{
      mload(_arr )  //值为长度6
      mload(add(_arr,0x20)) //值为1 
  }
}

你可能感兴趣的:(solidity汇编数组)