In C you normally don't pass an array to a function. That would be very ineffective and would not work for array manipulation anyway. Instead, you pass the array pointer to the function. Just look into the script of your example how it's done. C makes this easy, as an array in C is identical with a pointer to its first element.

If you need a linked list depends on what you want to do. If you want to dynamically add or remove elements, such as trades, a linked list is certainly better than an array.