A pointer must know the type of the value it points to so that it can correctly get the correct number of bytes for that value. Without an associated type, pointer access would not know how many bytes to use when returning a value. For example, an int value is 4 bytes. An integer pointer (8 bytes) would then go to its address and get 4 bytes to return an int value in the correct range.
To access a value indirectly via a pointer variable, we must dereference the pointer. That is to say, we must use the address stored in the pointer variable to go get the value it points to; or, we go to its target. To assign a value to the pointer's target, we use the * operator, as follows:
int height;
...
int* pDimension = &height;
...
height = 10;
...
*pDimension = 15;
height is assigned a value of 10 directly through that variable identifier. In the next statement, 15 is assigned to the target of pDimension. Because pDimension points to...