445 views

স্ট্রাকচার, ইউনিয়ন, পয়েন্টার ও ফাইল ম্যানেজমেন্ট | ICT পর্ব ২.৪

By | ফেব্রুয়ারী 12, 2020
Advertisment

বেসরকারি শিক্ষক নিবন্ধন লিখিত পরীক্ষার প্রস্তুতির আজকের পর্বে আপনাদের সকলকে স্বাগতম। আজকের বিষয় স্ট্রাকচার, ইউনিয়ন, পয়েন্টার ও ফাইল ম্যানেজমেন্ট। মনে করিয়ে দেই এটি ICT বিষয়ের Computer Science (কোড ৪৩১) এর লিখিত পরীক্ষার প্রস্তুতির দ্বিতীয় অধ্যায়ের চতুর্থ ভিডিও।

এই পর্বের আগের ভিডিও দেখতে হলে নিচে ক্লিক করুন:

অ্যারে, ক্যারেক্টার ও ফাংশন | নিবন্ধন লিখিত (ICT) পর্ব ২.৩

ব্রাঞ্চিং ও লুপিং | শিক্ষক নিবন্ধন লিখিত (ICT) পর্ব ২.২

প্রোগ্রামিং ল্যাংগুয়েজ | শিক্ষক নিবন্ধন লিখিত (ICT) পর্ব ২.১

সিলেবাসের এই অংশটা আরেকবার দেখে নেই

স্ট্রাকচার, ইউনিয়ন, পয়েন্টার ও ফাইল ম্যানেজমেন্ট
স্ট্রাকচার, ইউনিয়ন, পয়েন্টার ও ফাইল ম্যানেজমেন্ট

শিক্ষক নিবন্ধনের সকল পোস্ট পেতে এখানে ক্লিক করুন।

স্ট্রাকচার

স্ট্রাকচার (Structure) হলো এক ধরণের user defined ডাটা টাইপ যার সাহায্যে বিভিন্ন ধরণের ডাটা টাইপকে একসাথে নেয়া যায়। কিভাবে একসাথে অনেকগুলো ডাটা টাইপ একসাথে নেয়া যায় তা দেখতে হলে সি প্রোগ্রামে একটি কোড রান করাতে হবে:

#include <stdio.h>

struct Student{
    int id;
    int age;
};

int main()
{
    struct Student s1;
    s1.id=1;
    s1.age=10;
    
    printf("id of the student is: %d\n", s1.id);
    printf("and age is: %d", s1.age);

    return 0;
}

ইউনিয়ন

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

#include <stdio.h>
union Student{
    int id;
    int age;
};

int main()
{
    union Student s2;
    
    s2.id=2;
    
    printf("id of student 2 is: %d\n", s2.id);
    s2.age=12;
    
    
    printf("age is: %d\n", s2.age);

    return 0;
}

স্ট্রাকচার ও ইউনিয়নের মধ্যে পার্থক্য:

Structure Union 
Struct কিওয়ার্ড ব্যবহৃত হয়Union কিওয়ার্ড ব্যবহৃত হয়
Structure এর সাইজ সকল মেম্বারদের সাইজের সমান বা বড় হয়Union এর সাইজ সর্ববৃহৎ মেম্বারের সাইজের সমান
প্রতিটি মেম্বারের জন্য unique storage area থাকেমেম্বারদের লোকেশন শেয়ার করে
আলাদা আলাদা মেম্বার access করা যায়একক সময়ে একটিমাত্র মেম্বার access করা যায়
মেমরি স্পেস বেশি লাগেমেমরি স্পেস কম লাগে
Execution time বেশিExecution time কম

পয়েন্টার

পয়েন্টার (Pointer) বাংলা শব্দের অর্থ নির্দেশক। এটি এক প্রকার ভ্যারিয়েবল বা একই ডাটা টাইপের অপর কোন ভ্যারিয়েবলকে অথবা অ্যারে এলিমেন্টকে নির্দেশ করে। অর্থাৎ তাদের address বা location নির্দেশ করে। পয়েন্টারের বৈশিষ্ট্যসমূহ:

  • ভ্যারিয়েবল ডিক্লেয়ার করার সময় নামের সাথে * ব্যবহার করা হলেও এইট নামের অন্তর্ভুক্ত নয়
  • পয়েন্টারের মাধ্যমে ফাংশনের বাইরে ডিক্লেয়ার করা ডাটা এক্সেস করা যায়
  • প্রোগ্রামের জটিলতা ও দৈর্ঘ্য উভয়ই কমে
  • মেমরি অপচয় কম হয়
  • দ্রুত এক্সিকিউট হয়
  • প্রোগ্রামের ভ্যারিয়েবলের সাথে ডিক্লেয়ার করা যায়। int a, b, *p;

Pointer এর ব্যবহার

  • Pointer এর Pointer  হিসেবে
  • Function এর return value হিসেবে
  • Function এর parameter হিসেবে

পয়েন্টারের একটি ছোট উদাহরণ দেখবো সি প্রোগ্রামিংয়ে

#include <stdio.h>

int main()
{
    int a = 5;
    int *p;
    
    p = &a;
    
    printf("actual value of a is: %d\n", a);
    printf("logical address of a is: %x\n", p);
    printf("value of a is: %d\n", *p);
    

    return 0;
}

ফাইল ম্যানেজমেন্ট

C প্রোগ্রামিং এ কোন ফাইলে input/output বা i/o অপারেশনের জন্য অর্থাৎ ফাইলে কিছু লেখার জন্য বা ফাইল থেকে কিছু পড়ার জন্য লাইব্রেরি ফাংশন রয়েছে। এসব ফাংশন ব্যবহার করে ফাইলে ডাটা ইনপুট এবং ফাইল থেকে কোন ডাটা read করা যায়। ফাইলে যে ধরণের কাজ করা হয় তা হলো:

  • ফাইলের নাম দেয়া
  • ফাইল খোলা
  • ফাইল থেকে ডাটা read করা
  • ফাইলে data write করা
  • ফাইল বন্ধ করা

ব্যবহৃত ফাংশনসমূহ:

  • fopen() – ফাইল খোলা
  • fclose() – ফাইল বন্ধ করা
  • getc() – ফাইল থেকে character read করা
  • putc() – ফাইলে character লিখা
  • fscanf() – ফাইল থেকে data read করা
  • fprintf() – ফাইলে ডাটা write করা
  • fgets() – ফাইল থেকে যে কোন length বিশিষ্ট string পড়া
  • fputs() – ফাইলে যে কোন length বিশিষ্ট string write করা
  • getw() – integer মান পড়া
  • putw() – integer মান write করা
  • fseek() – পয়েন্টারকে উপযুক্ত স্থানে নিয়ে যাওয়া
  • ftell() – পয়েন্টারের বর্তমান অবস্থা নির্দেশ করা
  • rewind() – পয়েন্টারকে শুরুতে নিয়ে যাওয়া
  • feof() – ফাইলের শেষ
  • ferror() – ফাইল সম্পর্কিত ভুল

এখন বরাবরের মতোই আমরা সি প্রোগ্রামিংয়ে একটি ফাইল ম্যানেজমেন্ট এর উদাহরণ দেখবো

#include<stdio.h>

int main(){

    FILE *fp;

    fp = fopen("text.txt", "w+");
    fprintf(fp, "Hello world using fprint\n");
    fputs("hell using fputs", fp);
    fclose(fp);

    return 0;

}

এখানে সি প্রোগ্রামিংয়ে ফাইল ম্যানেজমেন্ট এর সাহায্যে একটি ফাইল খুলে তাতে কিছু টেক্সট লেখা হয়েছে।

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

Facebook Comments