Read in Hindi
Read in English

Going forward with this C/C++ programming language tutorial today we will learn pointer which is considered most difficult in C/C++.

What is Pointer in C/C++ programming language

Earlier we have seen how any variable is stored in memory. Address of variable tells where variable is stored in memory. This address is called pointer. C/C++ gives us facility know the address of variable where its value is stored. To know address of any variable & is used. For example if variable is int x; then &x will give address of x. As we store any variable int, char, float etc similarly address of any variable can also be stored. There is new datatype which is used to store address of variable. To store address of int variable int* datatype is used. similarly to store address of char variable char* datatype is used. Example given below shows how to store address of variable.
int x = 5;
int* p;
p = &x
Here int variable x define, Then variable p is declared which can store address of any int variable. Then we have assigned address of x to p variable.
Address→01234
Memory→ 1000011111100101001001100000101 01100101 . . . 
p = &x = 3int x
Now we have variable p which is of int* type and address of x is stored in it - means if we print p, address of x will be print.( As shown above here address of x is 3 running program at different time, address of x will change.) If we want to know what is stored in the Memory pointed by p then *p is used(Here p address of memory where x is and value there is 5 hence *p will give 5 here). lets see an small example. Change this example as per yourself and run it. do experiments.
#include <stdio.h>

int main() {
  int x = 5;
  int* p = &x;
  printf("x = %d\n",x);
  printf("address of x = %d\n", p);
  printf("value at location p = %d\n", *p);

  scanf("%d", &x);
  return 0;
}
In next topic we will see use of pointer.
आज Hindi के इस C/C++ programming language tutorial को आगे बढ़ाते हुए हम pointer के बारे में जानेंगे जो C/C++ में सबसे कठिन माना जाता है.

What is Pointer in C/C++ programming language

इससे पहले हम यह जान चुके हैं कोई भी variable Computer की memory में किस तरह से store होता है. जहाँ store होता है उसका address भी होता है जो यह बताता है कि variable की value memory में कहाँ stored है. इस address को ही pointer कहते हैं. C/C++ programming language हमें यह सुविधा देती है कि हम किसी variable का address जान सकें(variable का address = वह Memory address/location जहाँ variable की value stored है). C/C++ programming language में किसी भी variable का address जानने के लिए & का use करते हैं. जैसे कि अगर कोई variable int x; है तो x का address &x से मिल जायेगा. जिस तरह से हम int, char, float etc को variable में store कर लेते हैं उसी तरह किसी variable के address को भी. इसके लिए एक नया datatype होता है जो address store करने के काम आता है जिस तरह से integer store करने के लिए int datatype का use होता है. किसी int variable का address store करने के लिए int* datatype का use करते हैं. इसी तरह char variable का address store करने के लिए char* datatype का use करते हैं. नीचे एक छोटा सा example यह show कर रहा है कि किसी variable में दूसरे variable का address कैसे store करते हैं.
int x = 5;
int* p;
p = &x
यहाँ पहले एक int variable x define किया है, फिर p ऐसा variable declare किया है जो किसी int का address store करता है. फिर p variable में x का address डाल दिया है.(जैसा कि हम जानते हैं कि किसी भी variable का address जानने के लिए & का use करते हैं.)
Address→01234
Memory→ 1000011111100101001001100000101 01100101 . . . 
p = &x = 3int x
अब हमारे पास एक variable p है जो कि int* type का है और उसमे x का address stored है - means p को print करेंगे तो x का address print हो जायेगा.(ऊपर दिखाए गए अनुसार यहाँ पर x का address 3 है परन्तु अलग अलह time पर C/C++ program run करने पर address अलग अलग आएगा) यदि हमें यह जानना है कि p में जिस Memory का address लिखा हुआ उस memory पर क्या stored है तो *p का use करते हैं(यहाँ p में उस memory का address है जहाँ x है और उस memory यानि x में 5 stored है इसलिए *p यहाँ पर 5 देगा. इसका एक छोटा सा example देखते हैं. इस example को अपने अनुसार change करके चलाकर देखें और experiement करें.
#include <stdio.h>

int main() {
  int x = 5;
  int* p = &x;
  printf("x = %d\n",x);
  printf("address of x = %d\n", p);
  printf("value at location p = %d\n", *p);

  scanf("%d", &x);
  return 0;
}
आज के लिए इतना ही. अगले topic में Hindi में C/C++ tutorial को आगे बढ़ाते हुए pointer के use देखेंगे.