C Pointer
Pointer in C Language
A pointer is a variable which incorporates or maintain the deal with 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) | Deal with of operator | Give the deal with 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 deal with 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.
Deal with Of Operator
The deal with of operator & provides the deal with of a variable. For show deal with 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"> major</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">"Deal with 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: 50Deal with 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 under picture pointer variable shops the deal with of num variable i.e. EEE3. The worth of num is 50 and deal with 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"> major </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 deal with of variable in pointer</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"Deal with 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">/* deal with saved in pointer variable */</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"Deal with 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 |
Deal with 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 called NULL pointer. That is carried out on the time of variable declaration. The NULL pointer is a continuing which is outlined in customary 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"> major </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 |