Storing values using a function

if we store a value of a variable using a function, it does not change its value in the main function as we studied in the pointer concept,
but when we store elements in a array using a function its value got changed in the main function, tell me where i am wrong?

Yes, when we store elements in an array using function, the value get changed in main Function. This is so because array is passed by reference by default inside the function, hence any changes made in the array will be reflected inside the main also,

except arrays what are other things which when passed is by reference?