Okay I think I'm getting it. So basicly a pointer is what its name is: a pointer. And I could replace it with a variable however in your example an integer "p" variable would use more memory than the pointer "p" which doesn't store the true value of the other variables just their memory address. So maybe in this example it doesn't count much but if I wrote a bigger unit then it would be advisable for the defined types of the unit to make pointers for them and in the main program use those instead right?