You don't have to in bash because you can just declare that your array is global inside your function. In fact, this is the default behavior.
- they don't have any garbage collection or ref counting
- they don't have recursive data structures
- you can't return any kind of array from a function
In bash you also can't pass an array to a function, but in Awk you can.