i've once written a linked list which can be used as an array with variable length argument. look in the lite-c contributions thread.