Programmer's Wiki

A pointer is an integral value used as a reference to a location in the memory of the computer.

Pointers are commonly used between functions to call (or refer) to the same variable. In lower languages, for example, when method A calls method B such that B must modify the value of a parameter passed to it, a pointer to the parameter value is passed instead, which method B may now access.

In most programming languages, a pointer with a value of zero is a null reference/pointer. Trying to change or refer to the value of a null pointer will usually do nothing or raise an error.

In some high-level languages, reference functionality provided by pointers are managed. The null reference remains; it represents the non-existence of an object. For example, when initially declaring an object, it is assigned a "value" of null.

Dynamic Memory via Pointers[]

In some languages, pointers can be used to dynamically work with memory.

// C++ example of dynamic memory allocation via pointers
#include <iostream>

int main(void)
  int *pInt = NULL;
  pInt = new int; // make an int on the heap
  delete pInte; // delete the memory being used
  return 0;

See: dynamic memory allocation