SEMESTER – I - COMS - Unit – 3: Section 6: Introduction to C: Pointers
Introduction to C: Pointers (COMS Semester I - Unit 3: Section 6)
C প্রোগ্রামিং-এ Pointer একটি অত্যন্ত শক্তিশালী এবং গুরুত্বপূর্ণ ধারণা। Pointer ব্যবহার করে আমরা memory address নিয়ে কাজ করতে পারি। Arrays, Functions এবং Data Structure-এ Pointer খুবই গুরুত্বপূর্ণ ভূমিকা পালন করে।
১. Pointer কী?
Pointer হলো এমন একটি ভ্যারিয়েবল যা অন্য একটি ভ্যারিয়েবলের memory address সংরক্ষণ করে।
int a = 10;
int *p = &a;
এখানে p হলো pointer, যা a-এর address ধরে রাখছে।
২. Pointer Declaration এবং Initialization
Declaration:
int *p;
Initialization:
int a = 5;
int *p = &a;
৩. Pointer Operators
- & → Address of operator (address বের করে)
- * → Value at address operator (value বের করে)
int a = 10;
int *p = &a;
printf("%d", *p); // Output: 10
৪. Pointer Arithmetic
Pointer arithmetic ব্যবহার করে pointer-এর address বাড়ানো বা কমানো যায়।
int arr[3] = {10, 20, 30};
int *p = arr;
p++; // next element-এর দিকে যাবে
Pointer 1 বাড়লে আসলে next memory location-এ চলে যায়।
৫. Pointer দিয়ে Variable Access
int a = 50;
int *p = &a;
printf("%d", *p); // 50
৬. Pointer এবং Array
Array নাম নিজেই একটি pointer-এর মতো কাজ করে।
int arr[3] = {1, 2, 3};
int *p = arr;
printf("%d", *(p + 1)); // Output: 2
৭. Pointer এবং String
String-ও character array, তাই pointer দিয়ে সহজে access করা যায়।
char *str = "Hello";
printf("%c", *(str + 1)); // Output: e
৮. Pointer এবং Function
Pointer ব্যবহার করে আমরা function-এ address পাঠাতে পারি (Call by Reference)।
#include <stdio.h>
void change(int *x) {
*x = 100;
}
int main() {
int a = 10;
change(&a);
printf("%d", a); // Output: 100
return 0;
}
৯. Pointer-এর ব্যবহার
- ✔ Memory efficient programming
- ✔ Array handling
- ✔ Function parameter passing
- ✔ Dynamic memory allocation
১০. বাস্তব জীবনের উদাহরণ
✔ Variable → তোমার বাড়ি ✔ Pointer → সেই বাড়ির address
তুমি address দিলে লোক তোমার বাড়িতে পৌঁছাতে পারবে।
উপসংহার
Pointer C প্রোগ্রামিং-এর সবচেয়ে শক্তিশালী টুলগুলোর একটি। এটি memory address নিয়ে কাজ করতে সাহায্য করে এবং program-কে efficient করে তোলে। Arrays, Strings এবং Functions-এর সাথে Pointer ভালোভাবে বুঝতে পারলে advanced programming সহজ হয়ে যায়।
Quick Revision
- Pointer → address ধরে রাখে
- & → address বের করে
- * → value বের করে
- Array নাম → pointer হিসেবে কাজ করে
- Pointer → function-এ reference পাঠাতে ব্যবহার হয়