How to write a function that returns an array?

Nick,

That example was tricky, took me some seconds to realize why the "2 2". Good one. I think this discussion ends up becoming a showdown of how deeply everyone understands the language, maybe not what OP wanted to know. Maybe someone should point a function doesn't return any variable, but only returns a value to be assigned to a previously declared variable instead. A variable includes memory location and value stored inside. Even returning pointers was returning the value of a pointer, not the pointer variable in the "return" command.