Conceptually a pointer is just something that points to something else;Is this definition is sufficient to tell exactly what a pointer is in programing languages?Does it need to have any other features?Programmers who come from specific language may have  pre-conceived  ideas of what constitutes a 'pointer' based on how it is used in the language So let say if he is from c/c++ language, he say's pointers supports pointer arithmetic.Is pointer arithmetic an essential feature of a pointer?Go has pointers and does not support pointer arithmetic. Is the ability to dereference the pointer essential to the concept of a pointer? So what is the precise definition of a pointer that I can give as an answer, irrespective of any specific programming language?
What is the definition of pointer?
programming languages;pointers
I do not know of any general definition for pointers, or another related term, references. It's fairly safe, however, to say that pointers and programming languages supporting pointers usually have several of the following characteristics:At the very least, a pointer is a reference to other objects/values.A pointer type may or may not be typed, i.e. pointers of that type may reference only a certain type of objects/values (e.g. int* vs. void* in C). Whether this characteristic is present or not may depend mostly on the nature of the supporting programming language's type system.A programming language that supports pointers may or may not have a pointer dereference operator, which resolves a pointer to the referenced object/value (e.g. unary * in C).Such a programming language may or may not have an operator that creates a pointer for an object/value (e.g. unary & in C).A pointer may or may not contain a null reference, i.e. not point at anything. (This feature was invented by Tony Hoare, which he now calls his Billion Dollar Mistake.) Such pointers may not be dereferenced, and cannot be the result of the pointer creation operator.A pointer type may or may not support a limited form of arithmetic, e.g. incrementation/decrementation, adding/subtracting an integral value to a pointer value, subtracting two pointers of the same pointer type, etc.A pointer, i.e. a reference to another object, may be implemented using memory addresses (linear, segmented, or otherwise).