for k = n:-1:1
head(k).number = 3;
head(k).pck_rcv = [1 0 0];
Now the final size of the struct array is created in the first iteration.
head = struct('number', cell(1, 10), 'pck_rv', cell(1, 10));
Now head is a [1 x 10] struct array withe the fields 'number' and 'pck_rv'. Pre-allocating the contents of the fields is another job and you need a loop to do this. But now it can run in forward direction also.