In its implementation, pointers are mere integer representing the memory address of referring values, typically with the same size as that of
int type. Arrays are passed as a pointer to functions.
Operations with pointers are more efficient in runtime performance though potentially unsafe. Pointers can be set to point to an arbitrary memory address. Pointers are often used to hold the base address of arrays. It is possible to move a pointer by one byte even though the thing it is pointing to is actually 4 bytes long. This is direct manipulation of the address the pointer contains. For example, if it points to a 4-byte integer, then one could advance a pointer to the next item in the array by incrementing the pointer with the "++" operator. This changes the address contained in the pointer by 4 bytes, not 1. Such usage, while convenient, is also a very common source of programming bugs. In Java, by contrast, neither of these is directly possible. See iterators in Java for more information.
Pointers are a common data type in most programming languages. Many modern languages such as Java, however, avoid the use of pointers, favoring robustness over performance.
One of the disadvantages of the pointer is that it is limited to accessing a fixed amount of memory, dictated by the size of the pointer. Since modern applications demand the simultaneous access to hundreds of megabytes of information, pointers of 32 bits are widely used, but this limits addressable memory to 232 bytes. Pointers generally can only point to memory, not directly to data in disk space and other computers connected via a network. Use of opaque data structure such as smart pointers or handle is a common solution for this kind of problem.
The null pointer is one of the controversial features of the C programming language. The null pointer mostly points to 0, though it is theorically possible to point elsewhere. This is another source of a common type of bug where a pointer is null, meaning invalid, but the programmer uses it anyway without regard for the possibility of it being null, reading or writing data to memory location zero, which may be being used for some important aspect of the machine's operation.
The pointer in computing can also be another name for the computer mouse cursor.
Pointer also refers to a group of dog breeds. Examples of pointers include: German Shorthair Pointer, Hungarian Vizsla, Weimaraner and others.