Pointer in C / Array of Pointer / Pointer to an Array

इस Article में Pointer in C के बारे में डिटेल में समझेंगे, पॉइंटर से सम्बंधित सभी Topic इस Article में Cover किये गए हैं। शुरु करते हैं।

Pointer क्या होता हैं ?

  • यह एक तरह का Derivate Data Type हैं इस तरह के डाटा टाइप वैल्यू को स्टोर न करते हुए उस वैल्यू के Address को स्टोर करके रखते हैं ।
  • C Pointer Memory के Block को Point करता हैं और उस Address को ही Store करके रखता हैं । इसका सबसे बड़ा फायदा हैं हैं की हम कम Code में Program बना सकते हैं ।

Benifit of C Pointer | Pointer के क्या फायदे हैं ।

  • जब भी कोई function बनाते हैं ओर हमे एक से अधिक Value function के द्वारा प्राप्त करना हो तब Pointer से हम function मे Call by Refrence Concept का उपयोग कर Value को न भेजते हुए उसके Address को भेज देते हैं ।
  • जब आप आगे Data Structure के बारे मे Read करेंगे तब हमे Traverse करने मे Pointer बहुत की Help करता हैं ।
  • Pointer का उपयोग System को Fast करता हैं क्युकी हम जब Pointer का उपयोग करते हैं तो Data को Travel नहीं करवाते । Travel नहीं करवाने से Value को Transfer करने मे लगने वाले समय को हम कम कर सकते हैं ।


Declaration of Pointer in C

जिस तरह से C में हमें Variable Declare किये थे उसी प्रकार से पॉइंटर को भी Declare किया जाता हैं केवल यहाँ पर हमें Pointer बताने के लिए * Sign का उपयोग करना होता हैं।

int  *p;  
char *c; 

यहाँ पर हमने Int Type के Pointer को Declare किया हैं और Second लाइन में हमने Char Type Pointer को Declare किया है ।


Set Value on Pointer in C

जिस Type के Variable के Address को हमें Store करना हैं उसी प्रकार का Pointer भी Declare करना होता हैं ।

int  i, *p;  //Declare Int and Pointer to Int

i = 10;      //Assign Value on Integer
p = &i;      //Assign Value on Pointer - Address of i

ऐसा करना से *p वाले में i का Address Store हो जाएगा ।


हमारे अन्य आर्टिकल


Get Value from Pointer in C

हमारे पास *p pointer में i Variable का Address Store हैं अब हमें यह देखना हैं की p में जो Address Store हैं उस पर कौन सी वैल्यू Store हैं तो हमें इस प्रकार से देखंगे

int  i, *p;  //Declare Int and Pointer to Int

i = 10;      //Assign Value on Integer
p = &i;      //Assign Value on Pointer - Address of i


printf("Value of Pointer p= %d", p);   // Print 15750156 : Address of i
printf("Value of Pointer p= %d", *p);  // Print 10 : Value of P it means Value of i

हमने यहाँ पर जो i का Address Pointer p में Store किया था यदि हम p को direct print करेंगे तो i का Address print होगा और यदि हम *p प्रिंट करेंगे तो pointer p में जो i का Address Store हैं उसकी वैल्यू Print होगी ।


Array of Pointer

जब हम pointer का Array बनाते हैं तो एक से अधिक Pointer की वैल्यू Store कर सकते हैं ।

#include <stdio.h>
void main()
{
  
    int a[5] = { 10, 20, 30, 40, 50 }; // Simple Array
    int *p[5];            // Array of Pointer

    for (int i = 0; i < 5; i++)
    {
        p[i] = &a[i];    // Value Assign in Pointer one by one
    }  
  
    for (int i = 0; i < 5; i++)
    {
        printf("%d\n", *p[i]); // Print Value of A using Pointer
    }
  
}

विडिओ के माध्यम से समझने के लिए यंहा पर क्लिक करे


Pointer to an Array

इस Example में हमने यह बताया हैं की यदि आप किसी Array का Pointer बना लेते हैं तो उसे किस तरह से Assignment और Print का कार्य करेंगे ।

#include <stdio.h>
void main()
{
  
    int a[5] = { 10, 20, 30, 40, 50 }; // Simple Array
    int(*p)[5];            // Pointer to an Array

    p = &a;   // Assign Address of a to Pointer to Array
  
    for (int i = 0; i < 5; i++)
    {
        // p    = Store Address of Array
        //**p = Print value of Array First Index
        //*(*p+0) = Get Value from First index
        //*(*p+1) = Get Value from Second index

        printf("%d\n", *(*p+i)); // Print Value of A[i]
    }
  
}

इस आर्टिक्ल में हमें देखा की Pointer को हम कितने तरह से उपयोग में ले सकते हैं इसके बाद भी आगे के आर्टिकल में आप Call by Reference or Memory Allocation में भी Pointer का उपयोग आएगा ।

Article कैसा लगा कमेंट जरूर करे ।

अपना कीमती समय देने के लिए धन्यवाद् ।

SQL Logic App Download करे और सीखे MySQL हिंदी में

8 Comments

Add a Comment

Your email address will not be published. Required fields are marked *