# What Is Dereference Operator in Data Structure?

//

Heather Bennett

In data structures, the dereference operator is a fundamental concept that allows programmers to access or manipulate the value stored in a specific memory address. It is denoted by the asterisk (*) symbol and can be used to declare pointers or dereference them.

## The Basics of Pointers

To understand the dereference operator, it’s important to have a basic understanding of pointers. In simple terms, a pointer is a variable that stores the memory address of another variable. Pointers allow us to indirectly access and modify the values stored in memory.

Let’s consider an example:

``````int* ptr;
int num = 10;

ptr = #``````

In this example, we declare an integer pointer named ‘ptr’ using the asterisk (*) symbol. We also declare an integer variable ‘num’ and assign it a value of 10. The line ptr = # assigns the memory address of ‘num’ to the pointer ‘ptr’ using the ampersand (&) symbol.

## Using the Dereference Operator

Once we have declared a pointer and assigned it a memory address, we can use the dereference operator to access or modify the value stored at that address. The dereference operator is placed before the pointer variable name.

``*ptr = 20;``

This statement assigns a new value of 20 to the variable ‘num’. Since ‘ptr’ stores the memory address of ‘num’, using *ptr allows us to access and modify its value directly.

### Example:

Consider the following code:

``````#include <stdio.h>

int main() {
int num = 10;
int* ptr = #

*ptr = 20;

printf("Value of num: %d", num);

return 0;
}``````

The output of this code will be:

``Value of num: 20``

This is because we modified the value of ‘num’ indirectly using the dereference operator on the pointer ‘ptr’.

## Conclusion

The dereference operator is a powerful tool in data structures that allows programmers to access and manipulate values indirectly through pointers. By understanding how to use the dereference operator, you can effectively work with pointers and efficiently manage memory in your programs.