सरणी तत्वों तक पहुंचने के लिए
हम पॉइंटर्स का उपयोग करके सरणी तत्वों तक पहुंच सकते हैं।
C में
उदाहरण
#include <stdio.h>
int main() {
int a[] = {60, 70, 20, 40};
printf("%d\n", *(a + 1));
return 0;
}
आउटपुट
70
C++ में
उदाहरण
#include <iostream>
using namespace std;
int main() {
int a[] = {60, 70, 20, 40};
cout << *(a + 1);
return 0;
}
आउटपुट
70
डायनामिक मेमोरी आवंटन
डायनामिक रूप से मेमोरी आवंटित करने के लिए हम पॉइंटर्स का उपयोग करते हैं।
C में
उदाहरण
#include <stdio.h>
#include <stdlib.h>
int main() {
int i, *ptr;
ptr = (int*) malloc(3 * sizeof(int));
if(ptr == NULL) {
printf("त्रुटि! मेमोरी आवंटित नहीं हुई।");
exit(0);
}
*(ptr+0) = 1;
*(ptr+1) = 2;
*(ptr+2) = 3;
printf("तत्व हैं: ");
for(i = 0; i < 3; i++) {
printf("%d ", *(ptr + i));
}
free(ptr);
return 0;
}
आउटपुट
तत्व हैं: 1 2 3
C++ में
उदाहरण
#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
int i, *ptr;
ptr = (int*) malloc(3 * sizeof(int));
if(ptr == NULL) {
cout << "त्रुटि! मेमोरी आवंटित नहीं हुई।";
exit(0);
}
*(ptr+0) = 1;
*(ptr+1) = 2;
*(ptr+2) = 3;
cout << "तत्व हैं: ";
for(i = 0; i < 3; i++) {
cout << *(ptr + i);
}
free(ptr);
return 0;
}
आउटपुट
तत्व हैं: 1 2 3
फ़ंक्शन को आर्गुमेंट्स को रेफरेंस के रूप में पास करना
हम फ़ंक्शन्स में आर्गुमेंट्स को रेफरेंस के रूप में पास करने के लिए पॉइंटर्स का उपयोग कर सकते हैं ताकि दक्षता बढ़े।
C में
उदाहरण
#include <stdio.h>
void swap(int* a, int* b) {
int t = *a;
*a = *b;
*b = t;
}
int main() {
int m = 7, n = 6;
swap(&m, &n);
printf("%d %d\n", m, n);
return 0;
}
आउटपुट
6 7
C++ में
उदाहरण
#include <iostream>
using namespace std;
void swap(int* a, int* b) {
int t = *a;
*a = *b;
*b = t;
}
int main() {
int m = 7, n = 6;
swap(&m, &n);
cout << m << n;
return 0;
}
आउटपुट
67
लिंक्ड लिस्ट, ट्री जैसे डेटा स्ट्रक्चर को लागू करने के लिए भी हम पॉइंटर्स का उपयोग कर सकते हैं।