What is the difference between:
void foo(item* list) { cout << list[xxx].string; }
and
void this(item list[]) {
They are the same - completely synonymous. And the second is item list[], not item[]list.
item list[]
item[]list
However it is customary to use [] when the parameter is used like an array and * when it's used like a pointer.
[]
*