pointers exist in almost all programming languages and are used literally to 'point' to a particular piece of data. They contain the address in memory of the piece of data they point to. They are a useful way of referring to a variable or object without having to store the whole variable or object in memory, which is very important if they variable or object is particularly big. They can also be used to make sure you are referring to the variable you think you are when writing code, for example ensuring a function that takes this variable as a parameter does what you think it will. Pointers have many more uses, and while programming you will encounter more of these.