সমস্যা
C প্রোগ্রামের সাহায্যে অ্যারে পোস্ট এবং প্রি-ইনক্রিমেন্টেড কনসেপ্ট ব্যাখ্যা করা।
সমাধান
ইনক্রিমেন্ট অপারেটর (++) -
-
এটি একটি ভেরিয়েবলের মান 1
দ্বারা বৃদ্ধি করতে ব্যবহৃত হয় -
দুই ধরনের ইনক্রিমেন্ট অপারেটর আছে - প্রি ইনক্রিমেন্ট এবং পোস্ট ইনক্রিমেন্ট।
-
ইনক্রিমেন্ট অপারেটরকে প্রি-ইনক্রিমেন্টে অপারেন্ডের আগে স্থাপন করা হয় এবং প্রথমে মানটি বৃদ্ধি করা হয় এবং তারপরে এটিতে অপারেশন করা হয়।
যেমন:z =++a; a=a+1z=a
-
ইনক্রিমেন্ট অপারেটরকে পোস্ট ইনক্রিমেন্টে অপারেন্ডের পরে স্থাপন করা হয় এবং অপারেশন সঞ্চালিত হওয়ার পরে মান বৃদ্ধি করা হয়।
প্রি- এবং পোস্ট-ইনক্রিমেন্ট ব্যবহার করে মেমরি অবস্থানগুলিতে নির্দিষ্ট উপাদানগুলি অ্যাক্সেস করার একটি উদাহরণ বিবেচনা করা যাক৷
5 আকারের একটি অ্যারে ঘোষণা করুন এবং কম্পাইল টাইম ইনিশিয়ালাইজেশন করুন। এর পরে 'a' ভেরিয়েবলে একটি প্রাক-বর্ধিত মান নির্ধারণ করার চেষ্টা করুন।
a=++arr[1] // arr[1]=arr[1]+1a=arr[1]b=arr[1]++// b=arr[1]arr[1]+ 1
উদাহরণ 1
#includeint main(){ int a, b, c; int arr[5] ={1, 2, 3, 25, 7}; a =++arr[1]; b =arr[1]++; c =arr[a++]; printf("%d--%d--%d", a, b, c); রিটার্ন 0;
আউটপুট
4--3--25
ব্যাখ্যা
এখানে, a =++arr[1]; যেমন a =3 //arr[2];b =arr[1]++; i.e b =3 //arr[2];c =arr[a++]; যেমন c =25 //arr[4];printf("%d--%d--%d",a, b, c);printf("%d--%d--%d",4, 3, 25); এভাবে 4--3--25 আউটপুট হয়
উদাহরণ 2
অ্যারের প্রাক- এবং পরে-বর্ধিত সম্পর্কে আরও জানতে আরেকটি উদাহরণ বিবেচনা করুন।
#includeint main(){ int a, b, c; int arr[5] ={1, 2, 3, 25, 7}; a =++arr[3]; b =arr[3]++; c =arr[a++]; printf("%d--%d--%d", a, b, c); রিটার্ন 0;
আউটপুট
27--26-0