কম্পিউটার

সি-তে পয়েন্টার এবং অ্যারের মধ্যে পার্থক্য


পয়েন্টার এবং অ্যারে সম্পর্কে বিশদ বিবরণ যা তাদের পার্থক্য দেখায়।

পয়েন্টার

একটি পয়েন্টার একটি ভেরিয়েবল যা অন্য ভেরিয়েবলের ঠিকানা সংরক্ষণ করে। যখন একটি ভেরিয়েবলের জন্য মেমরি বরাদ্দ করা হয়, তখন পয়েন্টার ভেরিয়েবলের মেমরি ঠিকানার দিকে নির্দেশ করে। Unary অপারেটর ( * ) একটি পয়েন্টার ভেরিয়েবল ঘোষণা করতে ব্যবহৃত হয়।

নিম্নোক্ত পয়েন্টার ঘোষণার সিনট্যাক্স।

datatype *variable_name;

এখানে, ডেটাটাইপ হল ভেরিয়েবলের ডেটা টাইপ যেমন int, char, float ইত্যাদি এবং variable_name হল ব্যবহারকারীর দেওয়া ভেরিয়েবলের নাম।

একটি প্রোগ্রাম যা পয়েন্টার প্রদর্শন করে তা নিম্নরূপ দেওয়া হল।

উদাহরণ

#include <stdio.h>
int main () {
   int a = 8;
   int *ptr;
   ptr = &a;
   printf("Value of variable a: %d\n", a);
   printf("Address of variable a: %d\n", ptr);
   return 0;
}

উপরের প্রোগ্রামের আউটপুট নিম্নরূপ।

Value of variable a: 8
Address of variable a: -2018153420

অ্যারে

একটি অ্যারে হল সংলগ্ন মেমরি অবস্থানগুলিতে একই ধরণের উপাদানগুলির একটি সংগ্রহ। একটি অ্যারের সর্বনিম্ন ঠিকানাটি প্রথম উপাদানটির সাথে মিলে যায় যখন সর্বোচ্চ ঠিকানাটি শেষ উপাদানটির সাথে মিলে যায়। অ্যারে সূচক শূন্য(0) দিয়ে শুরু হয় এবং অ্যারের বিয়োগ এক (অ্যারের আকার - 1) আকার দিয়ে শেষ হয়।

আউটপুট

নিম্নলিখিত অ্যারের সিনট্যাক্স।

type array_name[array_size ];

এখানে, array_name হল একটি অ্যারের দেওয়া নাম এবং array_size হল অ্যারের আকার৷

একটি প্রোগ্রাম যা অ্যারে প্রদর্শন করে তা নিম্নরূপ দেওয়া হয়।

উদাহরণ

#include <stdio.h>
int main () {
   int a[5];
   int i,j;
   for (i = 0;i<5;i++) {
      a[i] = i+100;
   }
   for (j = 0;j<5;j++) {
      printf("Element[%d] = %d\n", j, a[j] );
   }
   return 0;
}

আউটপুট

উপরের প্রোগ্রামের আউটপুট নিম্নরূপ।

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104

  1. C# এবং ভিজ্যুয়াল C# এর মধ্যে পার্থক্য

  2. C# এবং .Net এর মধ্যে পার্থক্য

  3. C# এ একটি তালিকা এবং একটি অ্যারের মধ্যে পার্থক্য কী?

  4. Go এবং Java এর মধ্যে পার্থক্য।