assignは参照をコピーするから
array[0]の中身を操作すると、array[1]の中身も変わってしまう
assignStructは全く同じ物を複製するから、片方を変えてももう片方に影響はない
だったと思うけどうろ覚えだから確証は無い