To learn how to avoid copying any sort of object when you call a function, you need to learn about pointers. Then, you can learn about address arguments and pointer parameters.
A pointer is a chunk of memory that holds the address of an object. A pointer name identifies a chunk of memory containing the address of an object.