কম্পিউটার

সি ভাষায় বাফার বলতে কী বোঝ?


একটি অস্থায়ী স্টোরেজ এলাকাকে বাফার বলা হয়। সমস্ত ইনপুট আউটপুট (I/O) ডিভাইসে I/O বাফার থাকে৷

যখন আমরা ইনপুট হিসাবে প্রয়োজনীয় সংখ্যক মানের চেয়ে বেশি পাস করার চেষ্টা করি, তখন অবশিষ্ট মানগুলি স্বয়ংক্রিয়ভাবে ইনপুট বাফারে ধরে থাকবে। এই বাফার ডেটা স্বয়ংক্রিয়ভাবে পরবর্তী ইনপুট কার্যকারিতায় চলে যায়, যদি এটি বিদ্যমান থাকে।

পরবর্তী ইনপুট নেওয়ার আগে আমাদের বাফারটি পরিষ্কার করতে হবে৷

উদাহরণ

বাফার −

এর জন্য সি প্রোগ্রামটি নিচে দেওয়া হল
#include<stdio.h>
void main(){
   int a,b;
   printf("\n Enter a value: ");
   scanf("%d",&a);
   printf("\n Enter b value: ");
   scanf("%d",&b);
   printf("\n a+b=%d ",a+b);
   getch();
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

Enter a value: 1
Enter b value: 2
a+b=3

আবার, প্রোগ্রাম চালান. এইবার, আমরা a তে মান প্রবেশ করার চেষ্টা করি এবং b তে নয়।

Enter a value: 1 2 3
Enter b value: a+b=3

যদিও আমরা b মান প্রবেশ করিনি, এটি পূর্বে সংরক্ষিত মানটি নেয়, যা ইতিমধ্যেই বাফারে উপস্থিত রয়েছে।

বাস্তবায়নে, যখন আমাদের স্ট্যান্ডার্ড ইনপুট বাফার ডেটা অপসারণ করতে হবে তখন flushall() বা fflush() ফাংশনের জন্য যান৷

  • ফ্লুশাল() − এটি একটি পূর্বনির্ধারিত ফাংশন যা stdio.h এ উপস্থিত। flushall ব্যবহার করে আমরা I/O বাফার থেকে ডেটা সরিয়ে ফেলতে পারি।

  • ফ্লাশ() − এটি "stdio.h" হেডার ফাইলে একটি পূর্বনির্ধারিত ফাংশন যা ইনপুট বা আউটপুট বাফার মেমরি পরিষ্কার করতে ব্যবহৃত হয়৷

  • ফ্লাশ(stdin) - এটি ইনপুট বাফার মেমরি পরিষ্কার করতে ব্যবহৃত হয়। স্ক্যানফ স্টেটমেন্ট লেখার আগে এটি ব্যবহার করার পরামর্শ দেওয়া হয়।

  • ফ্লাশ(stdout) - এটি আউটপুট বাফার মেমরি পরিষ্কার করার জন্য ব্যবহৃত হয়। এটি প্রিন্টএফ স্টেটমেন্টের আগে ব্যবহার করার পরামর্শ দেওয়া হয়।


  1. নেটওয়ার্ক নিরাপত্তা বলতে কি বোঝ?

  2. ইন্টারফেস এবং পরিষেবা বলতে আপনি কি বোঝেন?

  3. সি ভাষায় বিজোড় লুপ বলতে কি বুঝ?

  4. সি প্রোগ্রামিং-এ স্ট্যাটিক মেমরি বরাদ্দ বলতে কী বোঝ?