সি-তে পয়েন্টার এবং অ্যারে অধিকাংশ সময় একইまるで বিবেচিত হয়। কিছু পার্থক্য নিচে দেওয়া হলো:
& অপারেটর (& operator):
&pointer= পয়েন্টারটির অ্যাড্রেস রিটার্ন করে।&array= প্রথম এলিমেন্টের অ্যাড্রেস রিটার্ন করে।
sizeof অপারেটর:
sizeof(array)= অ্যারের সব এলিমেন্ট যে মেমরি খরচ করে তার টোটাল রিটার্ন করে।sizeof(pointer)= শুধু পয়েন্টার ভেরিয়েবল নিজস্ব যে মেমরি খরচ করে সেটি রিটার্ন করে।
অ্যারে ভেরিয়েবলে নতুন মান অ্যাসাইন করা যায় না, কিন্তু পয়েন্টার ভেরিয়েবলে অ্যাসাইন করা যায়।
ঘোষণা (Declaration):
int a[]; // অ্যারে int *p; // পয়েন্টার
ধরুন একটি ইন্টিজার পয়েন্টার ভেরিয়েবল আছে:
int *i;
এখন নিচের অ্যাসাইনমেন্টগুলো ফলাফল দেখুন:
a = &i; // غيرقانونی অ্যাসাইনমেন্ট। a ভেরিয়েবল আপডেট বা মডিফাই করা যায় না। p = &i; // قانونی অ্যাসাইনমেন্ট।