What is a pointer?
Pointer is a kind of data structure, just like int, char etc., it can let code blocks in different place share a same memory. It can also make some complicate opreation possible, such as linked list.
How do we define a pointer?
Just like define a variable, if you want to define a pointer, you just need to add a * before the variable name.
//Define a integer variable
int a;
//Define a integer pointer variable
int * a;
The code on the second line save the value of a variable, but the code on the fifth line save the address of a variable.
Different kinds of pointer
There are four kinds of pointer:
1. a non-constant pointer to non-constant data
2. a constant pointer to non-constant data
3. a non-constant pointer to constant data
4. a constant pointer to constant data
int * ptr = &x
const int * ptr = &x
int *const ptr = &x
const int *const ptr = &x;