কম্পিউটার টিউটোরিয়াল

C ভাষায় লিগ্যাল ও ইলিগ্যাল ডিক্লেয়ারেশন ও ইনিশিয়ালাইজেশন


সমস্যা

C প্রোগ্রামিং করার সময় কিছু লিগ্যাল ও ইলিগ্যাল ডিক্লেয়ারেশন ও ইনিশিয়ালাইজেশন উল্লেখ করুন।

লিগ্যাল ও ইলিগ্যাল স্টেটমেন্ট আলোচনার আগে দেখি C-তে ভেরিয়েবল কীভাবে ডিক্লেয়ার ও ইনিশিয়ালাইজ করা হয়।

ভেরিয়েবল ডিক্লেয়ারেশন

ভেরিয়েবল ডিক্লেয়ারেশনের সিনট্যাক্স—

সিনট্যাক্স

Datatype v1, v2, ... vn;

যেখানে v1, v2, ... vn হলো ভেরিয়েবলদের নাম।

উদাহরণ: int sum;

float a, b;

ভেরিয়েবল দুটিভাবে ডিক্লেয়ার করা যায়—

  • লোকাল ডিক্লেয়ারেশন
  • গ্লোবাল ডিক্লেয়ারেশন

'লোকাল ডিক্লেয়ারেশন' হলো মেইন ব্লকের ভিতরে ভেরিয়েবল ডিক্লেয়ার করা এবং এর মান সেই ব্লকের মধ্যে উপলব্ধ।

'গ্লোবাল ডিক্লেয়ারেশন' হলো মেইন ব্লকের বাইরে ভেরিয়েবল ডিক্লেয়ার করা এবং এর মান পুরো প্রোগ্রামে উপলব্ধ।

উদাহরণস্বরূপ,

int a, b; /* global declaration*/
main() {
    int c; /* local declaration*/
    - - -
}

ভেরিয়েবল ইনিশিয়ালাইজেশন

ভেরিয়েবল ইনিশিয়ালাইজেশনের সিনট্যাক্স—

সিনট্যাক্স

Datatype v1 = number;

উদাহরণস্বরূপ,

int sum = 0;
float a = 1, b = 4.5;

ডেটা টাইপ ব্যবহার করে ভেরিয়েবল ডিক্লেয়ার করুন, ডিক্লেয়ারেশনের সময় মান ইনিশিয়ালাইজ করা যায়। তাই ইনিশিয়ালাইজেশন ও ডিক্লেয়ারেশনের সময় নিয়মাবলী মেনে চলতে হয়।

C-তে কিছু লিগ্যাল ও ইলিগ্যাল ডিক্লেয়ারেশন ও ইনিশিয়ালাইজেশন উদাহরণ দেখি।

উদাহরণ

  • Char a = 65;

    এটি একটি লিগ্যাল স্টেটমেন্ট কারণ ভেরিয়েবল কনস্ট্যান্ট দিয়ে ইনিশিয়ালাইজ করা যায়।

  • Static int p = 20, q = p * p

    এটি একটি ইলিগ্যাল স্টেটমেন্ট কারণ স্ট্যাটিক ভেরিয়েবল কনস্ট্যান্ট দিয়ে ইনিশিয়ালাইজ করতে হয়, কিন্তু এখানে q কনস্ট্যান্ট দিয়ে ইনিশিয়ালাইজ করা হয়নি।

  • Double x = 30 * PI

    এটি একটি লিগ্যাল স্টেটমেন্ট কারণ এখানে ভেরিয়েবল কনস্ট্যান্ট এক্সপ্রেশন দিয়ে ইনিশিয়ালাইজ করা হয়েছে।

  • Double diameter[] = {1, PI/2, PI, 2*PI/2}

    এটি একটি লিগ্যাল স্টেটমেন্ট, এখানে অ্যারে এলিমেন্টগুলো কনস্ট্যান্ট দিয়ে ইনিশিয়ালাইজ করা হয়েছে।

স্যাম্পল প্রোগ্রাম

লিগ্যাল ডিক্লেয়ারেশন & ইনিশিয়ালাইজেশন—

#include<stdio.h>
void main() {
    int a, b;
    a = 10, b = 20;
    printf(" %d", a < b);
    printf(" %d", a <= b);
    printf(" %d", a > b);
    printf(" %d", a >= b);
    printf(" %d", a == b);
    printf(" %d", a != b);
}

আউটপুট

1 1 0 0 0 1

উদাহরণ

ইলিগ্যাল ডিক্লেয়ারেশন & ইনিশিয়ালাইজেশন—

#include <stdio.h>
int main() {
    static int p = 20, q = p * p; // illegal initialization
    printf("%d%d", p, q);
    return 0;
}

আউটপুট

error will be occurred
error: initializer element is not constant
    static int p = 20, q = p * p;

  1. এসে লেখার সেবা: কি এটি বৈধ এবং আইনগতভাবে স্বীকৃত?

  2. টরেন্ট ডাউনলোড কি লিগ্যাল অথবা ইলিগ্যাল, এবং কতটুকু সুরক্ষিত?

  3. store.rg-adguard.net কি নিরাপদ এবং বৈধ?

  4. এফমুভিজ সিনেমা দেখার জন্য নিরাপদ এবং বৈধ প্ল্যাটফর্ম কি?