Functions Returning Arrays

Question: Is it possible for a function to return an array instead of a single value?

Answer: No but, then again, you don't really pass arrays as parameters, either. What C/C++ can do is pass the address of an array (a pointer) and you can return a pointer, too. Just be careful that when you return a pointer to an array, that the array is properly allocated.

For example, if you create an array within your function:

int *MyFunc()
{
int a[20];
return a;
}

this will fail because local variables are allocated on the stack and will no longer be valid when the function returns.