'char[][] data;' doesn't allocate anything but an array reference. So
it's just an empty array to begin with. If you print its length, you'll
see that it's '0'.
Use the append operator instead:
data ~= dataNumber;
data ~= data;
etc.