C Pointer
Pointer in C Language
A pointer is a variable which incorporates or maintain the tackle of one other variable. We are able to create pointer variable of any sort of variable for instance integer sort pointer is ‘int *ptr’.
In pointer following symbols are use;
Image | Nme | Description |
---|---|---|
& (ampersand signal) | Handle of operator | Give the tackle of a variable |
* (asterisk signal) | Indirection operator | Offers the contents of an object pointed to by a pointer. |
Benefit of pointer
- Pointer reduces the code and improves the efficiency, as a result of it direct entry the tackle of variable.
- Utilizing pointer idea we are able to return a number of worth from any operate.
- Utilizing pointer we are able to entry any reminiscence location from pointer.
Handle Of Operator
The tackle of operator & offers the tackle of a variable. For show tackle of variable, we want %u.
Instance
1 |
<span class="com">#embody</span><span class="str"><stdio.h></stdio.h></span><span class="kwd">void</span><span class="pln"> most important</span><span class="pun">()</span><span class="pun">{</span><span class="kwd">int</span><span class="pln"> a</span><span class="pun">=</span><span class="lit">50</span><span class="pun">;</span><span class="pln">printf</span><span class="pun">(</span><span class="str">"nValue of a is: %d"</span><span class="pun">,</span><span class="pln">n</span><span class="pun">);</span><span class="pln">printf</span><span class="pun">(</span><span class="str">"Handle of &n is: %u"</span><span class="pun">,&</span><span class="pln">n</span><span class="pun">);</span><span class="pun">}</span> |
Output
1 |
Worth of a is: 50Handle of a is: 1002 |
Declaring a pointer
In C language for declared pointer we are able to use * (asterisk image).
Syntax
1 |
<span class="kwd">int</span> <span class="pun">*</span><span class="pln">p</span><span class="pun">;</span> <span class="com">//pointer to integer</span><span class="kwd">char</span> <span class="pun">*</span><span class="pln">ch</span><span class="pun">;</span> <span class="com">//pointer to character</span> |
Instance of pointer
In beneath picture pointer variable shops the tackle of num variable i.e. EEE3. The worth of num is 50 and tackle of pointer prt is CCC4
Instance
1 |
<span class="com">#embody</span><span class="str"><stdio.h></stdio.h></span><span class="kwd">int</span><span class="pln"> most important </span><span class="pun">()</span><span class="pun">{</span> <span class="kwd">int</span><span class="pln"> num</span><span class="pun">=</span><span class="lit">50</span><span class="pun">;</span> <span class="kwd">int</span> <span class="pun">*</span><span class="pln">ptr</span><span class="pun">;</span> <span class="com">// pointer variable</span><span class="pln"> ptr </span><span class="pun">=</span> <span class="com"># // retailer tackle of variable in pointer</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"Handle of num variable: %xn"</span><span class="pun">,</span> <span class="pun">&</span><span class="pln">num</span><span class="pun">);</span> <span class="com">/* tackle saved in pointer variable */</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"Handle saved in ptr variable: %xn"</span><span class="pun">,</span><span class="pln"> ptr </span><span class="pun">);</span> <span class="com">/* entry the worth utilizing the pointer */</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"Worth of *ptr variable: %dn"</span><span class="pun">,</span> <span class="pun">*</span><span class="pln">ptr </span><span class="pun">);</span> <span class="kwd">return</span> <span class="lit">0</span><span class="pun">;</span><span class="pun">}</span> |
Output
1 |
Handle of num variable: EEE3Address saved in ptr variable: CCC4Value of *ptr variable: 50 |
NULL Pointer
A pointer that’s not assigned any worth however NULL is named NULL pointer. That is accomplished on the time of variable declaration. The NULL pointer is a continuing which is outlined in commonplace libraries with zero worth.
Instance
1 |
<span class="com">#embody</span><span class="str"><stdio.h></stdio.h></span><span class="kwd">int</span><span class="pln"> most important </span><span class="pun">()</span><span class="pun">{</span> <span class="kwd">int</span> <span class="pun">*</span><span class="pln">ptr </span><span class="pun">=</span><span class="pln"> NULL</span><span class="pun">;</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"Worth of ptr is: %x"</span><span class="pun">,</span><span class="pln"> ptr </span><span class="pun">);</span> <span class="kwd">return</span> <span class="lit">0</span><span class="pun">;</span><span class="pun">}</span> |
Output
1 |
Worth of ptr is: 0 |