at little more on that,
a pointer is the location in your computer's ram where the operating system chose to store the data for your program. The choice of this location is predictable (if we know the algorithm, like open source linux) but too complicated for a human to figure out without a great deal of hands on effort and diagnostics into the box. This is not true, but lets pretend the algorithm to pick memory is that it just linearly starts at location 0 and finds the first unused block large enough to store your data in it. Depending on what is running at that instant in time, the next available slot is always in motion as other programs ask for and give back the memory resource. So the location you get back is, as already said, is not consistent across runs etc.