You win! It's in sdcc's manual (attached to the above post, downloadable from the website), and yes, all aggregates are passed as pointers in SDCC. When you use them in the function, this works out OK because the pointer still goes to the same data. I fell asleep while typing this, and the guys already did all the C-specifics, enjoy :)