C Programming
  • মডিউল ১: বেসিক সিন্টেক্স, ভেরিয়েবলস এবং ডেটা টাইপ
    • মডিউল ১-০: সূচনা
    • মডিউল ১-১: বেসিক স্ট্রাকচার
    • মডিউল ১-২ + মডিউল ১-৩: প্রথম সি প্রোগ্রাম + সি আউটপুট
    • মডিউল ১-৪: প্রোগ্রাম রান করি
    • মডিউল ১-৫+ মডিউল ১-৬:ভেরিয়েবল এবং ডেটা টাইপ
    • মডিউল ১-৭+ মডিউল ১-৮: সি ইনপুট + এস্কেপ সিকুয়েন্স
    • মডিউল ১-৯+ মডিউল ১-১০: ডেটা টাইপ লিমিটেশন
    • মডিউল ১-১১: ভেরিয়েবল নামকরণের নিয়মাবলি
  • মডিউল ২ঃ অপারেটরস, কন্ডিশনাল স্টেটমেন্টস
    • মডিউল ২-০: সূচনা
    • মডিউল ২-১ঃ এরিথমেটিক অপারেটরস
    • মডিউল ২-২ঃ রিলেশনাল অপারেটরস
    • মডিউল ২-৩ঃ লজিকাল অপারেটরস
    • মডিউল ২-৪, ২-৫ঃ ইফ এলস
    • মডিউল ২-৬, ২-৭ঃ ইফ এলস লেডার
    • মডিউল ২-৮, ২-৯ঃ নেস্টেড ইফ এলস
  • মডিউল ৩ঃ লুপ
    • মডিউল ৩-০: সূচনা
    • মডিউল ৩-১, ৩-২: ফর লুপ টাইপ-১
    • মডিউল ৩-৩, ৩-৪: ফর লুপ টাইপ-২
    • মডিউল ৩-৫: ১ থেকে এন পর্যন্ত যোগফল
    • মডিউল ৩-6: লুপের সাথে কন্ডিশন
    • মডিউল ৩-৭, ৩-৮: ব্রেক, কন্টিনিউ স্টেটমেন্ট
    • মডিউল ৩-৯: While & Do While লুপ
  • মডিউল ৫ঃ কন্ডিশনাল স্টেটমেন্ট রিকেপ
    • মডিউল ৫-০ঃসূচনা
    • মডিউল ৫-১ঃ I. Welcome for you with Conditions
    • মডিউল ৫-২ঃ J. Multiples
    • মডিউল ৫-৩ঃ N. Char
    • মডিউল ৫-৪ঃ P. First digit !
    • মডিউল ৫-৫ঃ M. Capital or Small or Digit
    • মডিউল ৫-৬ঃ K. Max and Min
  • মডিউল ৬ঃ লুপ রিকেপ এবং নেস্টেড লুপ
    • মডিউল ৬-০: সূচনা
    • মডিউল ৬-১: ইনক্রিমেন্ট ডিক্রিমেন্ট অপারেটর
    • মডিউল ৬-২: ইভেন নাম্বারস
    • মডিউল ৬-৩: ইভেন, ওড, পজিটিভ, নেগেটিভ
    • মডিউল ৬-৪: ফিক্সড পাসওয়ার্ড
    • মডিউল ৬-৫, ৬-৬: ম্যাক্স, মিন
    • মডিউল ৬-৭: মাল্টিপ্লিকেশন টেবিল
    • মডিউল ৬-৮: ডিজিটস
    • মডিউল ৬-৯, ৬-১০: নেস্টেড ফর লুপ
  • মডিউল ৭ঃ ইন্ট্রোডাকশন টু এরে
    • মডিউল ৭-০: সূচনা
    • মডিউল ৭-১, ৭-২: এরে কি? কেন আমাদের এরে প্রয়োজন?
    • মডিউল ৭-৩,৭-৪: এরে এক্সেস করা
    • মডিউল ৭-৫,৭-৬: এরে ইনপুট আউটপুট
    • মডিউল ৭-৭: এরে ইনিশিয়ালাইজ করা
    • মডিউল ৭-৮: এরে রিভার্স করা
    • মডিউল ৭-৯: এরেতে সবগুলো ভেলু যোগ করা
  • মডিউল ৯ঃ অ্যারে অপারেশন
    • মডিউল ৯-০: সূচনা
    • মডিউল ৯-১ + ৯-২: ইনসার্ট ইলিমেন্ট
    • মডিউল ৯-৩ + ৯-৪: ডিলিট ইলিমেন্ট
    • মডিউল ৯-৫ + ৯-৬: রিভার্স অ্যারে
    • মডিউল ৯-৭ + ৯-৮: কপি অ্যারে
  • মডিউল ১০ঃ ইন্ট্রোডাকশন টু স্ট্রিং
    • মডিউল ১০-০: সূচনা
    • মডিউল ১০-১: স্ট্রিং কি?
    • মডিউল ১০-২: স্ট্রিং ইনিশিয়ালাইজ এবং প্রিন্ট
    • মডিউল ১০-৩: স্ট্রিং ইনপুট
    • মডিউল ১০-৪: স্ট্রিং ইনপুট স্পেস সহ
    • মডিউল ১০-৫: স্ট্রিং এর লেন্থ
    • মডিউল ১০-৬: ক্রিয়েট এ নিউ স্ট্রিং
    • মডিউল ১০-৭: লেটস ইউজ গেটলাইন
    • মডিউল ১০-৮: কাউন্ট
  • মডিউল ১১ঃ স্ট্রিং অপারেশন এবং ফিকোয়েন্সি এরে
    • মডিউল ১১-০ঃ সূচনা
    • মডিউল ১১-১ঃ স্ট্রিং কপি
    • মডিউল ১১-২, ১১-৩ঃ স্ট্রিং লেক্সিকোগ্রাফিকাল কম্পারিসন
    • মডিউল ১১-৪ঃ স্ট্রিং কনকেটিনেশন
    • মডিউল ১১-৫ঃ কাউন্টিং এরে অর ফ্রিকুয়েন্সি এরে
    • মডিউল ১১-৬ঃ কাউন্টিং ক্যারেক্টার
  • মডিউল ১৩: নেস্টেড লুপ রিক্যাপ
    • মডিউল ১৩-০ঃ সূচনা
    • মডিউল ১৩-১ঃ প্যাটার্ন ১
    • মডিউল ১৩-২ঃ প্যাটার্ন ২
    • মডিউল ১৩-৩ঃ প্যাটার্ন ৩
    • মডিউল ১৩-৪ঃ প্যাটার্ন ৪
    • মডিউল ১৩-৫+১৩-৬ঃ Sum of Two Values Equal X
    • মডিউল ১৩-৭+১৩-৮ঃ সিলেকশন সর্ট
  • মডিউল ১৪ঃ ফাংশন এবং পয়েন্টার
    • মডিউল ১৪-০ঃ সূচনা
    • মডিউল ১৪-১ঃ ফাংশন কি?
    • মডিউল ১৪-২ঃ রিটার্ন + প্যারামিটার
    • মডিউল ১৪-৩ঃ রিটার্ন + নো প্যারামিটার
    • মডিউল ১৪-৪ঃ নো রিটার্ন + প্যারামিটার
    • মডিউল ১৪-৫ঃ নো রিটার্ন + নো প্যারামিটার
    • মডিউল ১৪-৬ঃ ইউজফুল বিল্ট-ইন ফাংশন
    • মডিউল ১৪-৭ঃ স্কোপ্স
    • মডিউল ১৪-৮ঃ পয়েন্টার
  • মডিউল ১৫ঃ ফাংশন উইথ পয়েন্টার
    • মডিউল ১৫-০ঃ সূচনা
    • মডিউল ১৫-১ঃ পয়েন্টারস ইন সি
    • মডিউল ১৫-২ঃ কল বাই ভেলু
    • মডিউল ১৫-৩ঃ কল বাই রেফারেন্স
    • মডিউল ১৫-৪ঃ এরে এবং পয়েন্টার
    • মডিউল ১৫-৫ঃ ফাংশন এবং এরে
    • মডিউল ১৫-৬ঃ ফাংশন এবং স্ট্রিং
    • মডিউল ১৫-৭ঃ ফাংশন ইউথ এরে এস রেফারেন্স
  • মডিউল ১৭ঃ Recursion
    • মডিউল ১৭-১ঃ Call Stack
    • মডিউল ১৭-২ঃ রিকার্সন
    • মডিউল ১৭-৩ঃ Print From 1 to n Using Recursion
    • মডিউল ১৭-৪ঃ Print From 5 to 1 using Recursion
    • মডিউল ১৭-৫ঃArray Printing using Recursion
    • মডিউল ১৭-৬ঃ Print From 5 to 1 in Reverse Way
    • মডিউল ১৭-৭ঃ Length of a String using Recursion
  • মডিউল ১৮ঃ 2D এরে
    • মডিউল ১৮-০ঃ সূচনা
    • মডিউল ১৮-১ঃ 2D এরে কি?
    • মডিউল ১৮-২ঃ 2D এরে ইনপুট আউটপুট
    • মডিউল ১৮-৩ঃ 2D এরে প্রিন্টিং বাই রো এন্ড কলাম
    • মডিউল ১৮-৪ঃ ম্যাট্রিক্স এর প্রকারভেদ
    • মডিউল ১৮-৫ঃ জিরো অথবা নাল ম্যাট্রিক্স
    • মডিউল ১৮-৬ঃ ডায়াগোনাল ম্যাট্রিক্স ইউজিং 2D এরে
    • মডিউল ১৮-৭ঃ স্কেলার ম্যাট্রিক্স ইউজিং 2D এরে
    • মডিউল ১৮-৮ঃ ইউনিট ম্যাট্রিক্স ইউজিং 2D এরে
  • মডিউল ১৯ঃ রিকারশন রিকেপ
    • মডিউল ১৯-০ঃ সূচনা
    • মডিউল ১৯-১ঃ মিরর এরে
    • মডিউল ১৯-২ঃ সাম অফ এ ম্যাট্রিক্স
    • মডিউল ১৯-৩ঃ প্রিন্ট ডিজিটস ইউজিং রিকারশন
    • মডিউল ১৯-৪ঃ কাউন্ট ভাওয়েলস
    • মডিউল ১৯-৫ঃ ফেক্টরিয়াল
    • মডিউল ১৯-৬ঃ ম্যাক্স নাম্বার
    • মডিউল ১৯-৭ঃ পেলিনড্রোম
Powered by GitBook
On this page
  1. মডিউল ১০ঃ ইন্ট্রোডাকশন টু স্ট্রিং

মডিউল ১০-১: স্ট্রিং কি?

স্ট্রিং হচ্ছে মূলতো ক্যারেক্টার এরে। char arr[20]; এরকম। এই ক্যারেক্টার টাইপ এরেকে স্ট্রিং নাম দেওয়া হয়েছে কারন সি প্রোগ্রামিং এ একে আলাদা কিছু পাওয়ার দেওয়া হয়েছে। এই পাওয়ার গুলো আমরা সামনে দেখবো। এবার আমরা ক্যারেক্টার এরেতে ইনপুট এবং আউটপুট দেখে নিই।

#include<stdio.h>
int main()
{
    char ar[5];     // ৫ সাইজের ক্যারেক্টার এরে ডিক্লেয়ার করা হয়েছে। 
    for(int i=0;i<5;i++)  // ০ থেকে ৪ পর্যন্ত  লুপ চালানো হচ্ছে।
    {
        scanf("%c",&ar[i]);   // প্রতিটি ইন্ডেক্সে একটি করে ক্যারেক্টার ইনপুট নেওয়া হচ্ছে %c দিয়ে
    }
    for(int i=0;i<5;i++)       // লুপ চালিয়ে প্রতিটি ইন্ডেক্সে যেয়ে
    {
        printf("%c",ar[i]);    // ক্যারেক্টারটি প্রিন্ট করা হচ্ছে।
    }
    return 0;
}

কোডটি রান করে আমরা ৫ সাইজের কোন স্ট্রিং ( ৫টি ক্যারেক্টার )ইনপুট দিলে আউটপুট পেয়ে যাব। এখানে লক্ষ্যনীয় হচ্ছে ৫টি ক্যারেক্টার ইনপুট দেওয়ার সময় মাঝে কোন স্পেস দেওয়া যাবে না। স্পেস দিলে স্পেসটিও ইনপুট হিসেবে নিয়ে নিবে যেহেতু স্পেস নিজেও একটি ক্যারেক্টার।

একটি ভেরিয়েবল মেমরিতে কত জায়গা নিচ্ছে তা আমরা বের করতে পারি sizeof() দিয়ে। আমরা যদি sizeof(int) প্রিন্ট করি তাহলে ৪ প্রিন্ট হবে, কারন একটি int ভেরিয়েবল মেমরিতে ৪ বাইট জায়গা নেয়। তেমনি আমরা যদি একটি int এরে ডিক্লেয়ার করি ৫ সাইজের। তারপর সেই এরে মেমরিতে কত জায়গা নিচ্ছে সেটি জানতে sizeof ব্যাবহার করিঃ

#include<stdio.h>
int main()
{
    int a[5];
    printf("%d",sizeof(a));
    return 0;
}

রান করলে দেখব ২০ প্রিন্ট হচ্ছে। কারন একটি ৫ সাইজের int এরে মেমরিতে (৫ * ৪ = ২০ ) বাইট জায়গা নেয়। এখন আমরা যদি এক্সাক্টলি এরের সাইজ বের করতে চাই sizeof দিয়ে, তাহলে আমরা এরের সাইজকে একটি int এর সাইজ দিয়ে ভাগ করে ফেলতে পারিঃ

#include<stdio.h>
int main()
{
    int a[5];
    printf("%d",sizeof(a)/sizeof(int));   // এরে মেমরিতে কত জায়গা নেয় (২০) সেটিকে একটি ইন্টিজার ভেরিয়েবল কত জায়গা নেয়(৪) তা দিয়ে ভাগ করা হচ্ছে। তাহলে ভাগফল আসবে ২০ / ৪ = ৫ যা হচ্ছে আমাদের এরের একচুয়াল সাইজ।

    return 0;
}

সেইমভাবে আমরা একটি ক্যারেক্টার এরের সাইজও বের করতে পারি।

#include<stdio.h>
int main()
{
    char a[5];    // ৫ সাইজের ক্যারেক্টার এরে নেওয়া হয়েছে। 
    int sz=sizeof(a)/sizeof(char);  // ক্যারেক্টার এরে কতটুকু জায়গা নিচ্ছে সেটিকে একটি ক্যারেক্টার কতটুকু জায়গা নেয় তা দিয়ে ভাগ করা হচ্ছে। তাহলে আমরা ক্যারেক্টার এরের সাইজ পেয়ে যাব।
    printf("%d",sz);   // ক্যারেক্টার এরের সাইজটি প্রিন্ট করা হচ্ছে।
    return 0;   
}
Previousমডিউল ১০-০: সূচনাNextমডিউল ১০-২: স্ট্রিং ইনিশিয়ালাইজ এবং প্রিন্ট

Last updated 1 year ago