C dereference pointerAs we already know that "what is a pointer", a pointer is a variable that stores the address of another variable. The dereference operator is also known as an indirection operator, which is represented by (*). When indirection operator (*) is used with the pointer variable, then it is known as dereferencing a pointer. When we dereference a pointer, then the value of the variable pointed by this pointer will be returned. Why we use dereferencing pointer?Dereference a pointer is used because of the following reasons:
Let's observe the following steps to dereference a pointer.
The above line changes the value of 'x' variable from 9 to 8 because 'ptr' points to the 'x' location and dereferencing of 'ptr', i.e., *ptr=8 will update the value of x. Let's combine all the above steps: Output ![]() Let's consider another example. In the above code:
Note: According to us, if we change the value of 'x', then the value of 'y' will also get changed as the pointer 'ptr' holds the address of the 'x' variable. But this does not happen, as 'y' is storing the local copy of value '5'.Output ![]() Let's consider another scenario. In the above code:
Note: If we have more than one pointer pointing to the same location, then the change made by one pointer will be the same as another pointer.Output ![]()
Next TopicDynamic memory allocation in C
|