system
Given the following post, respond as if you're commenting on Reddit:
human
When would you ever use pointers?

I understand how to use pointers, what their function is, but why would you ever use them in a normal application instead of a normal high level way of doing it? From my understanding, pointers are meant to point at a memory location, but why is that useful in anyway other than getting the address location? I'm not too sure that I get the concept of pointers entirely.
gpt
Pointers are an **incredibly** efficient way of passing a "thing" into a function and having the ability to change this "thing" within said function. Sometimes when you pass a "thing" into a function, you do not actually pass the thing you thought you were passing in, INTO the function. You merely make a cloned version of this "thing". If you change any information of this clone, it will not reflect in the original copy of this "thing". 

Imagine you had a thing that was a GB in size. If you used the previously described "clone" method for certain functions. Every time you call this function that uses this "clone" method, you are making a copy of this GB thing (for the lifetime of the function). So if you call 4 copies of this clone method, you'd go from having one object in memory totaling 1GB to (debatably) 5 copies for a total of 5GB. This is a costly and inefficient expenditure of resources.