C Program to Access Address of Variable using Pointer
Program :
1 2 3 4 5 6 7 8 | <span style='color:#004a43'>#</span><span style='color:#004a43'>include</span><span style='color:#800000'><</span><span style='color:#40015a'>stdio.h</span><span style='color:#800000'>></span> <span style='color:#800000;font-weight:bold'>void</span> <span style='color:#400000'>main</span><span style='color:#808030'>(</span> <span style='color:#808030'>)</span> <span style='color:#800080'>{</span> <span style='color:#800000;font-weight:bold'>int</span> i <span style='color:#808030'>=</span> <span style='color:#008c00'>3</span> <span style='color:#800080'>;</span> <span style='color:#603000'>printf</span><span style='color:#808030'>(</span><span style='color:#800000'>"</span><span style='color:#0f69ff'>n</span><span style='color:#0000e6'>Address of i = </span><span style='color:#0f69ff'>%u</span><span style='color:#800000'>"</span><span style='color:#808030'>,</span> <span style='color:#808030'>&</span>i <span style='color:#808030'>)</span> <span style='color:#800080'>;</span> <span style='color:#603000'>printf</span><span style='color:#808030'>(</span><span style='color:#800000'>"</span><span style='color:#0f69ff'>n</span><span style='color:#0000e6'>Value of i = </span><span style='color:#0f69ff'>%d</span><span style='color:#800000'>"</span><span style='color:#808030'>,</span> i <span style='color:#808030'>)</span> <span style='color:#800080'>;</span> <span style='color:#603000'>printf</span><span style='color:#808030'>(</span><span style='color:#800000'>"</span><span style='color:#0f69ff'>n</span><span style='color:#0000e6'>Value of i = </span><span style='color:#0f69ff'>%d</span><span style='color:#800000'>"</span><span style='color:#808030'>,</span> <span style='color:#808030'>*</span><span style='color:#808030'>(</span> <span style='color:#808030'>&</span>i <span style='color:#808030'>)</span> <span style='color:#808030'>)</span> <span style='color:#800080'>;</span> <span style='color:#800080'>}</span> |
Output:
1 2 3 | Address of i = 65524 Value of i = 3 Value of i = 3 |
Explanation :
Variable ‘i’ is declared of type integer in the program , now suppose the integer variable can have value 3 stored inside it and it has address 65524.
Suppose we want to access the address of the variable i then we can use ampersand operator to find the address of the variable.
1 | <span style='color:#308080'>&</span>i |
and whenever we use ampersand and value at operator together then we will get actual value of the variable.
1 2 3 | <span style='color:#308080'>*</span> <span style='color:#308080'>(</span><span style='color:#308080'>&</span>i<span style='color:#308080'>)</span> <span style='color:#308080'>=</span> Value at <span style='color:#308080'>(</span><span style='color:#308080'>&</span>i<span style='color:#308080'>)</span> <span style='color:#308080'>=</span> Value at <span style='color:#308080'>(</span><span style='color:#008c00'>65535</span><span style='color:#308080'>)</span> <span style='color:#308080'>=</span> <span style='color:#008c00'>3</span> |
Values of Variable and Address
Variable Expression | Meaning of the Variable | Value | ||
---|---|---|---|---|
| Address of i | 65524 | ||
i | Value of variable i | 3 | ||
| Value of variable i | 3 |