By Letter: Non-alphabet | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
  Email this page to a friend


<programming> To access the thing to which a pointer points, i.e. to follow the pointer.

E.g. in C, the declarations

int i; int *p = &i;

declare i as an integer and p as a pointer to integer.

p is initialised to point at i ("&i" is the address of i - the inverse of "*").

The expression *p dereferences p to yield i as an lvalue, i.e. something which can appear either on the left of an assignment or anywhere an integer expression is valid.


*p = 17;

would set i to 17.

*p++ is not the same as i++ however since it is parsed as *(p++), i.e. increment p (which would be an invalid thing to do if it was pointing to a single int, as in this example) then dereference p's old value.

The C operator "->" also dereferences its left hand argument which is assumed to point to a structure or union of which the right hand argument is a member.

At first sight the word "dereference" might be thought to mean "to cause to stop referring" but its meaning is well established in jargon.

< Previous Terms Terms Containing dereference Next Terms >
dependable software
depth-first search
symbolic link
derived class
derived type

Web Standards & Support:

Link to and support Powered by LoadedWeb Web Hosting
Valid XHTML 1.0!Valid CSS! FireFox Extensions