কম্পিউটার টিউটোরিয়াল

C/C++-এ পয়েন্টারের অ্যাপ্লিকেশন (Applications of Pointers)


অ্যারে এলিমেন্ট এক্সেস করা

পয়েন্টার দিয়ে অ্যারে এলিমেন্ট এক্সেস করা যায়।

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

ডাইনামিক মেমরি এলোকেশন (Dynamic Memory Allocation)

ডাইনামিক্যালি মেমরি এলোকেট করতে পয়েন্টার ব্যবহার করা হয়।

C-এ উদাহরণ

#include <stdio.h>
#include <stdlib.h>
int main() {
    int i, *ptr;
    ptr = (int*)malloc(3 * sizeof(int));
    if (ptr == NULL) {
        printf("Error! memory not allocated.");
        exit(0);
    }
    *(ptr+0) = 1;
    *(ptr+1) = 2;
    *(ptr+2) = 3;
    printf("Elements are:");
    for (i = 0; i < 3; i++)
        printf("%d ", *(ptr + i));
    free(ptr);
    return 0;
}

আউটপুট

Elements are: 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 << "Error! memory not allocated.";
        exit(0);
    }
    *(ptr+0) = 1; *(ptr+1) = 2; *(ptr+2) = 3;
    cout << "Elements are:";
    for (i = 0; i < 3; i++)
        cout << *(ptr + i);
    free(ptr);
    return 0;
}

আউটপুট

Elements are: 1 2 3

ফাংশন আর্গুমেন্ট রেফারেন্স হিসেবে পাস করা (Pass by Reference)

পয়েন্টার দিয়ে আর্গুমেন্ট রেফারেন্স হিসেবে পাস করলে এফিশিয়েন্সি বাড়ে।

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

লিংকড লিস্ট, ট্রি ইত্যাদি ডেটা স্ট্রাকচার ইমপ্লিমেন্ট করতেও পয়েন্টার ব্যবহার করা হয়।


  1. C/C++-এ ইন্টিজার ফাংশন পয়েন্টারের অ্যারে রিটার্ন করা

  2. সি/সি++-এ remove() ফাংশন

  3. C/C++-এ স্ট্রিং ইন্টিজার কিনা চেক করা

  4. C/C++-এ টার্নারি অপারেটর