When you pass an array to a function you actually passing a pointer so all the changes you make to the array inside the function will affect affect the original array you passed in.
I see, I must have made a mistake when pasting,my issue isn't the code working, its the fact that when I run it, the Array, Grid, shows something completely wiered, but when I show it in the function Assign_Array it runs fine, but as soon as I try to show it in Get_Info, it shows something completely different