সি প্রোগ্রামিং/ C Programming Lecture 5 to 7

kmanik-1995.blogspot.com
KM ANIK
24 UPDATE 

Learning to C PROGRAMMING
BANGLA VERSION

Lecture 5


              প্রথম সি প্রোগ্রাম


এই অধ্যায়ে আপনি “Hello, World!” প্রোগ্রাম লেখা শিখবেন।
“Hello, World!” প্রোগ্রাম লেখার পূর্বে চলুন জেনে নেয়া যাক, সি প্রোগ্রামিং ল্যাংগুয়েজের একটি সাধারণ প্রোগ্রাম কি কি উপাদান নিয়ে গঠিত হয়।
সি প্রোগ্রামিং এ নিম্নোক্ত উপাদান/অংশসমূহ থাকেঃ

  • প্রি-প্রোসেসর কমান্ড

  • ফাংশন

  • স্টেটমেন্ট এবং এক্সপ্রেশন

  • ভ্যারিয়েবল

  •  5 কমেন্ট

কেন “Hello, World!” প্রোগ্রাম?

“Hello, World!” হলো একেবারে সাধারণ প্রোগ্রাম যা স্ক্রিনে “Hello, World!” প্রদর্শন করাবে। ইহা খুবই সাধারণ প্রোগ্রাম হওয়ায় প্রোগ্রামিং ল্যাঙ্গুয়েজের সিনট্যাক্স ব্য্যাখ্যা করার জন্য ব্যবহৃত হয়।


নতুনদের কাছে কোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ সহজে পরিচিত করে দেওয়ার জন্য ইহা ব্যবহার করা হয়। সুতরাং চলুন শুরু করিঃ
#include <stdio.h>
int main()
{
    printf("Hello, World!\n");
    return 0;
}


“Hello, World!” প্রোগ্রাম কিভাবে কাজ করে?



আপনার প্রোগ্রামে stdio.h হেডার ফাইল সংযুক্ত করুন।
সি প্রোগ্রামিং ছোট হওয়ায় ইহা নিজে নিজে খুব বেশী কিছু করতে পারে না। আপনার প্রোগ্রাম রান করানোর জন্য কিছু ফাইলের প্রয়োজন হবে। stdio.hহলো হেডার(header) ফাইল এবং কম্পাইলার এই ফাইলের লোকেশন(location) জানে।
আপনার প্রোগ্রামে এই হেডার ফাইল ব্যবহারের জন্য#include প্রিপ্রোসেসর(preprocessor) এর মাধ্যমে ইহাকে সংযুক্ত করতে হবে।


এই প্রোগ্রামে আপনাকে কেন stdio.h ফাইল যোগ করতে হবে?


এই প্রোগ্রামে আমরা printf() ফাংশন ব্যবহার করেছি। যা উদ্ধৃতি চিহ্নের(quotation mark) ভেতরের লেখাকে স্ক্রিনে বা কনসোলে প্রদর্শন(display) করাবে। printf() ফাংশন ব্যবহারের জন্য আপনাকে আপনার প্রোগ্রামে অবশ্যই stdio.h হেডার ফাইলে সংযুক্ত করতে হবে।


main() ফাংশন
সি প্রোগ্রামে main() ফাংশন থেকে কোড সম্পাদন(execution) শুরু হয়। এক্ষেত্রে main() ফাংশন শুরুতে না থাকলেও কোনো যায় আসে না।
কারলি ব্রাসেস(curly braces) { } এর ভেতরের কোড হলো main() ফাংশনের body। সি প্রোগ্রামে main() ফাংশন বাধ্যতামূলক।


int main() {
    //ফাংশন body
}

C

উপরের প্রোগ্রামটি কোনো কিছুই করে না। কিন্তু ইহা বৈধ সি প্রোগ্রাম।


printf() ফাংশন
printf() ফাংশন হলো লাইব্রেরী ফাংশন যা স্ক্রিনে আউটপুট দেয়। আমাদের প্রোগ্রামে ইহা স্ক্রিনে Hello, World! আউটপুট দিবে।
মনে রাখবেন, এই কাজ করার জন্য আপনার প্রোগ্রামে stdio.h হেডার ফাইল সংযোজন করতে হবে।
লক্ষ্য করলে দেখবেন যে, প্রিন্ট ফাংশনের শেষে সেমিকোলন দেওয়া হয়েছে। স্টেটমেন্ট শেষ করার জন্য সেমিকোলন ব্যবহৃত হয়।



return স্টেটমেন্ট
return স্টেটমেন্ট 0 রিটার্ন করে main() ফাংশনের কাজ সমাপ্ত করে। এই স্টেটমেন্ট বাধ্যতামূলক নয়। কিন্তু প্রোগ্রামিং এ ইহা ব্যবহার করা খুবই ভাল।


প্রয়োজনীয় নিয়মাবলী যা মনে রাখতে হবে


  • সকল সি প্রোগ্রাম main() ফাংশন দিয়ে শুরু হয় এবং ইহা বাধ্যতামূলক।
  • আপনি প্রয়োজনীয় হেডার ফাইলসমূহ ব্যবহার করতে পারেন যা আপনার প্রোগ্রামে প্রয়োজন হতে পারে। উদাহরণস্বরূপঃ কোনো সংখ্যার বর্গমূল নির্ণয়ের জন্য sqrt() ফাংশন ব্যবহার করতে পারেন এবং পাওয়ার নির্ণয়ের জন্য pow() ফাংশন ব্যবহার করতে পারেন। এজন্য আপনাকে আপনার প্রোগ্রামে math.h হেডার ফাইল সংযোজন করতে হবে।
  • সি হলো কেস-সেনসিটিভ(case-sensitive)। অর্থাৎ ছোট হাতের অক্ষর এবং বড় হাতের অক্ষর ভিন্ন অর্থে ব্যবহৃত হয়।
  • সি প্রোগ্রাম main() ফাংশনের মধ্যে যখনই কোনো return স্টেটমেন্টে পৌঁছে তখনই সি প্রোগ্রাম বন্ধ হয়ে যায়। যাইহোক, main() ফাংশনে return স্টেটমেন্ট বাধ্যতামূলক নয়।
  • সেমিকোলনের(;) মাধ্যমে সি প্রোগ্রামে স্টেটমেন্ট শেষ হয়

এই অধ্যায়ে আপনি সি প্রি-প্রসেসর (preprocessor) এবং ম্যাক্রো(macro) এর সাথে পরিচিত হবেন। এছাড়া কন্ডিশনাল(conditional), প্র্যাগমা(pragma), লাইন কন্ট্রোল(line control) ইত্যাদি প্রি-প্রসেসর কে আপনার প্রোগ্রামে ব্যবহার করা শিখবেন।

সি প্রি-প্রসেসর হলো ম্যাক্রো প্রি-প্রসেসর যা আপনার প্রোগ্রামে প্রি-প্রসেসর ডিফাইন্ড করার সম্মতি দেয় এবং যা কম্পাইলের পূর্বে আপনার প্রোগ্রামকে ট্রান্সফর্ম(transform) করে। এই ট্রান্সফরমেশনে হেডার ফাইল, ম্যাক্রো এক্সটেশন ইত্যাদি সংযুক্ত হতে পারে।


সকল প্রিপ্রোসেসর ডিরেক্টিভ(directive) # প্রতীকের মাধ্যমে শুরু হয়।
#define PI 3.14

হেডার ফাইল সংযুক্ত করা

সি প্রোগ্রামে হেডার ফাইল সংযুক্তকরনের জন্য #include প্রি-প্রসেসর যোগ করা হয়। উদাহরণস্বরূপঃ
#include <stdio.h>
এখানে "stdio.h" হলো হেডার ফাইল। যা ফাংশন এবং ম্যাক্রো ডেফিনিশন নিয়ে গঠিত। #include প্রি-প্রসেসর ডিরেক্টিভ(directive) উপরের লাইনকে stdio.h হেডার ফাইলের কন্টেন্ট দ্বারা প্রতিস্থাপন করে।
scanf() এবং printf() ফাংশন ব্যবহারের পূর্বে #include <stdio.h> প্রি-প্রসেসর ব্যবহার করার এটাই মূল কারণ।


আপনার প্রয়োজনে আপনিও নিজের মত করে বিভিন্ন ফাংশন ডেফিনিশন বিশিষ্ট হেডার ফাইল তৈরি করতে পারেন এবং প্রি-প্রসেসর ডিরেক্টিভ ব্যবহার করে আপনার প্রোগ্রামে সংযুক্ত করতে পারেন।

#if, #elif, #else, #endif প্রি-প্রসেসর

এই প্রি-প্রসেসর ডিরেক্টিভ-সমূহ সোর্স কোড কম্পাইল করার জন্য কন্ডিশনাল প্যারামিটার তৈরি করে যা সোর্স কোডের কম্পাইলকে নিয়ন্ত্রণ করে। এগুলো অবশ্যই ভিন্ন ভিন্ন লাইনে শুরু হতে হবে।


সিনট্যাক্স

#if constant_expression
#else constant_expression
#endif
অথবা

#if constant_expression
#elif constant_expression
#endif


C

  • যদি এবং কেবল যদি #if expression এর ভ্যালু true(non-zero) হয় তাহলে কম্পাইলার পরবর্তী কোড-সমূহকে কম্পাইল করে।

  • কিন্তু যদি #if expression এর ভ্যালু false(0) হয় তাহলে কম্পাইলার পরবর্তী #else, #elif অথবা #endif পর্যন্ত লাইন-সমূহকে এড়িয়ে(skip করে) যায়।

  •  যদি #if expression এর ভ্যালু false(0) হয় এবং যদি কোনো #else এর ভ্যালু true(non-zero) হয় তাহলে #else এবং #endif এর মধ্যবর্তী লাইন-সমূহ কম্পাইল হয়।

  • একই ভাবে
  • যদি #if expression এর ভ্যালু false(0) হয় এবং যদি কোনো #elif এর constant_expression এর ভ্যালু true(non-zero) হয় তাহলে #elif এবং #endif এর মধ্যবর্তী লাইন-সমূহ কম্পাইল হয়।

উদাহরন১ঃ

int main(void)
 {
  #if 1
    printf("Hello SATT!\n");
  #else
    printf("Hello Aziz!\n");
  #endif
  return 0;
}

C



আউটপুট
"Hello SATT!"
উপরের উদাহরনে শুধুমাত্র "Hello SATT!" প্রিন্ট হয়েছে। কারণ #if এর ভ্যালু 1 হওয়ায় কম্পাইলার পরবর্তী কোড-সমূহকে এড়িয়ে গেছে।


উদাহরন২ঃ

int main(void)
 {
  #if 1
    printf("Mango\n");
  #elif 1
    printf("Orange\n");
  #endif
  return 0;
}

C



আউটপুট
"Mango"
এখানেও শুধুমাত্র "Mango" প্রিন্ট হয়েছে। কারণ কেবল যদি প্রথম লাইন #if 0 হয় তাহলে "Orange" প্রিন্ট হবে।


উদাহরন৩ঃ

#if OS==1
  printf("Version 1.0");
#elif OS==2
  printf("Version 2.0");
#else
  printf("Version unknown");
#endif

C

OS এর সেটিং এর উপর ভিত্তিকরে প্রিন্ট হবে এবং যা #define প্রি-প্রসেসর দ্বারা ডিফাইন করা আছে।

#define, #undef, #ifdef, #ifndef প্রি-প্রসেসর

#define এবং #undef প্রি-প্রসেসর ডিরেক্টিভ আইডেন্টিফায়ার(identifier) ডিফাইনে সম্মতি দিয়ে থাকে এবং যা নির্দিষ্ট ভ্যালু বহন করে। এসব আইডেন্টিফায়ার সাধারণত কন্সট্যান্ট অথবা ম্যাক্রো(macro) ফাংশন হতে পারে।
আইডেন্টিফায়ার ডিফাইন করা হয়েছে কিনা এই কন্ডিশন(condition) এর উপর ভিত্তিকরে #ifdef এবং #ifndef ডিরেক্টিভ(directive) নির্দিষ্ট সংখ্যক লাইনের কোডকে কম্পাইলের সম্মতি দিয়ে থাকে।


সিনট্যাক্স

#define identifier replacement-code

#undef identifier

#ifdef identifier
#else or #elif
#endif

#ifndef identifier
#else or #elif
#endif

C

  • #ifdef identifier এবং #if defined( identifier) একই অর্থে ব্যবহৃত হয়।
  • #ifndef identifier এবং #if !defined(identifier) একই অর্থে ব্যবহৃত হয়।
  •  #define দ্বারা কোনো আইডেন্টিফায়ার ডিফাইন্ড করা হলে ইহা #undef এ না পৌঁছা পর্যন্ত সোর্স কোডের যেকোনো জায়গায় বিদ্যমান থাকে।
#define দ্বারা নিম্নোক্ত উপায়ে ম্যাক্রো(macro) ফাংশন ডিফাইন্ড করা করা যেতে পারেঃ
#define identifier(parameter-list) (replacement-text)

C

parameter-list এর ভ্যালু replacement-text এর ভ্যালু দ্বারা প্রতিস্থাপিত হয়।


উদাহরণ১ঃ

#define PI 3.141
printf("%f",PI);

#define DEBUG
#ifdef DEBUG
  printf("This is a debug message.");
#endif

#define QUICK(x) printf("%s\n",x);
QUICK("Hi!")

#define ADD(x, y) x + y
z=3 * ADD(4,5)

C

উপরের প্রোগ্রামের আউটপুট হবে 17। কারণ যোগের চেয়ে গুণের কাজ আগে হয়।


উদাহরণ২ঃ

#define ADD(x,y) (x + y)
z=3 * ADD(4,5)

C

উপরের প্রোগ্রামের আউটপুট হবে 17। কারণ যোগফলকে বন্ধনীর মধ্যে রাখা হয়ছে এবং গুণের চেয়ে বন্ধনীর কাজ আগে হয়।

#include ডিরেক্টিভ

#include ডিরেক্টিভ(directive) এর মাধ্যমে এক্সটারনাল হেডার ফাইলকে কম্পাইলার দ্বারা প্রসেস করা যায়।।


সিনট্যাক্স

#include <header-file>

অথবা

#include "source-file"

C

যখন কোনো ফাইলকে < এবং > এর মধ্যে রাখা হয় তখন কম্পাইলার(implementation) উক্ত ফাইলের জন্য পরিচিত হেডার ডিরেক্টরিতে( যা কম্পাইল কর্তৃক সংজ্ঞায়িত) অনুসন্ধান করে এবং ইহাকে কম্পাইল করে।
যখন ফাইলকে ডবল উদ্ধৃতি চিহ্নের মধ্যে রাখা হয় তখন সোর্স-ফাইলের সম্পূর্ণ বিষয়বস্তু(content) প্রতিস্থাপিত হয়। ফাইলের জন্য এই অনুসন্ধান পদ্ধতি বাস্তবায়ন-নির্দিষ্ট(implementation-specific)।


উদাহরণঃ

#include <stdio.h>
#include "my_header.h"

C


#line প্রি-প্রসেসর

#line ডিরেক্টিভ(directive) বর্তমান লাইন নম্বর এবং বর্তমান সোর্স কোড ফাইলের নাম পরিবর্তনে সম্মতি দিয়ে থাকে।


সিনট্যাক্স

#line line-number filename

C

উল্লেখ্য, যদি ফাইলের নাম না দেওয়া হয় তাহলে ইহা একই রকম থাকে। চলমান লাইন এর লাইন নম্বরটি নতুন লাইনের থেকে এক বশী হয়। সুতরাং প্রথম লাইন নম্বর 1

উদাহরণঃ

#line 50 user.c
#line 23

C


#error প্রি-প্রসেসর

#error ডিরেক্টিভ(directive) কম্পাইল থামিয়ে দিয়ে নির্ধারিত error message রিটার্ন করে।


সিনট্যাক্স

#error message

C



উদাহরণঃ

#ifndef VERSION
#error Version number not specified.
#endif

C


#pragma প্রি-প্রসেসর

#pragma ডিরেক্টিভ ডিরেক্টিভকে ডিফাইন করার সম্মতি দেয়। ইহা কম্পাইলারের ক্রিয়াকলাপ নিয়ন্ত্রণ করে। যদি pragma সাপোর্ট না করে তাহলে ইহাকে এড়িয়ে যায়।

সিনট্যাক্স

#pragma directive

সি ম্যাক্রো

ম্যাক্রো(macro) হলো এক খণ্ড কোড(a fragment of code) যার একটি নির্দিষ্ট নাম দেওয়া হয়। নাম ব্যবহার করেই আপনি এই কোড খণ্ডকে আপনার প্রোগ্রামে ব্যবহার করতে পারেন।


পূর্বনির্ধারিত ম্যাক্রো

নিম্নোক্ত ম্যাক্র-সমূহ ইতিমধ্যেই কম্পাইলারে ডিফাইন্ড করা আছে এবং এগুলোকে পরিবর্তন করা যায় না।

পূর্বনির্ধারিত ম্যাক্রো

নিম্নোক্ত ম্যাক্র-সমূহ ইতিমধ্যেই কম্পাইলারে ডিফাইন্ড করা আছে এবং এগুলোকে পরিবর্তন করা যায় না।
পূর্বনির্ধারিত ম্যাক্রোবর্ণনা
__LINE__চলমান লাইন নম্বরকে নির্দেশের জন্য ইন্টেজার(integer) কন্সট্যান্ট
__FILE__চলমান সোর্স কোড ফাইলের নাম নির্দেশের জন্য স্ট্রিং
__DATE__চলমান সোর্স ফাইলের কম্পাইল শুরু হওয়ার তারিখ নির্দেশের জন্য স্ট্রিং। asctime ফাংশন যে ফরম্যাটে তারিখ প্রদান করে ইহার ও ঠিক একই ফরম্যাট। যেমন- "mmm dd yyyy"।
__TIME__চলমান সোর্স ফাইলের কম্পাইল শুরু হওয়ার সময় নির্দেশ এর জন্য স্ট্রিং। asctime ফাংশন যে ফরম্যাটে তারিখ প্রদান করে ইহার ও ঠিক একই ফরম্যাট। যেমন- "hh:mm:ss"।
__STDC__যদি ANSI স্টান্ডার্ড অনুসরণ করে তাহলে ভ্যালু ১(non-zero) হবে।

উদাহরনঃ

পূর্বনির্ধারিত ম্যাক্রো ব্যবহার করে চলমান সময় নির্ণয়ের জন্য সি প্রোগ্রাম
#include <stdio.h>
int main()
{
   printf("Current time: %s",__TIME__);   // চলমান সময় নির্ণয়
}

Ootput  19:54:39


Lecture 6


সি প্রোগ্রাম ফ্লো:-

সি প্রোগ্রাম এক্সিকিউশনের সময় অনেকগুলো স্টেপ অনুসরণ করে। সি প্রোগ্রামের ফ্লো বুঝতে হলে চলুন প্রথমে একটি সহজ উদাহরণ দেখা যাকঃ



#include <stdio.h>
void main(){
printf("Hello SATT Family");
}




  1. 1  সি প্রোগ্রাম(সোর্স কোড) কে প্রথমে প্রিপ্রসেসরের কাছে পাঠানো হয়।         প্রিপ্রোসেসর এক্সপান্ডেড সোর্স কোডে রূপান্তরিত করে।
  2. এক্সপান্ডেড সোর্স কোড কম্পাইলারের কাছে পাঠানো হয় যা কোড কম্পাইল করে এসেম্বলি কোডে রূপান্তরিত করে।
  3. 3 এসেম্বলি কোড এসেম্বলারের কাছে পাঠানো হয় যা কোড এসেম্বলি করে এবং অবজেক্ট কোডে রূপান্তরিত করে।
  4. 4  অবজেক্ট কোড লিংকারের কাছে পাঠানো হয় যা লাইব্রেরী যেমন- হেডার ফাইলের সাথে লিংক করে। তারপরে ইহা এক্সিকিউটেবল কোডে রূপান্তরিত হয়।
  5. এক্সিকিউটেবল কোড লোডারের কাছে পাঠানো হয় যা মেমোরিতে লোড করে এবং কোড এক্সিকিউশন হয়। এক্সিকিউশন শেষে কনসোলে আউটপুট দেখায়।
Lecture 7

সি প্রোগ্রামিং কিওয়ার্ড


ই অধ্যায়ে আপনি কীওয়ার্ড(keyword) সম্মন্ধে জানবেন। সি প্রোগ্রামিং এ কীওয়ার্ড হলো সংরক্ষিত(reserved) শব্দ যা সিনট্যাক্স(syntax)-এর অংশ।


সি টোকেন

সি প্রোগ্রামিং ভাষার সবচেয়ে ক্ষুদ্রতম একককে টোকেন(token) বলা হয়। সি প্রোগ্রামিং এ তিন ধরনের টোকেন আছে এবং সকল প্রোগ্রামেই এই টোকেন-সমূহ ব্যবহৃত হয়ঃ

অক্ষর সেট(Character set)



সি প্রোগ্রামে ব্যবহৃত বৈধ বর্ণমালা(alphabets), অংক(digits) এবং বিশেষ অক্ষর(special characters)-এর সমাহার-ই হলো অক্ষর সেট।

বর্ণমালা(Alphabets)


বড় হাতের অক্ষর(Uppercase): A B C ................................... X Y Z
ছোট হাতের অক্ষর(Lowercase): a b c ...................................... x y z

বিশেষ অক্ষর(Special Characters)

সি প্রোগ্রামিং এ ব্যবহৃত বিশেষ অক্ষরসমূ
হোয়াইট স্পেস ক্যারেক্টার(White space Characters)
খালি স্পেস(blank space), নতুন লাইন(new line), অনুভূমিক ট্যাব(horizontal tab), ক্যারিয়েজ রিটার্ন(carriage return) এবং ফর্ম ফিড( form feed)

সি কীওয়ার্ড(Keyword)


প্রোগ্রামিং এ কীওয়ার্ড হলো পূর্বনির্ধারিত এবং সংরক্ষিত শব্দ যা বিশেষ অর্থ বহন করে। কীওয়ার্ড সিনট্যাক্সের অংশ হওয়ায় এদেরকে আইডেন্টিফায়ার হিসাবে ব্যবহার করা যায় না। উদাহরণস্বরূপঃ
int age;
এখানে int হলো কীওয়ার্ড যা দ্বারা  'age' কে পূর্ণসংখ্যা(integer) টাইপের ভ্যারিয়েবল(variable) হতে নির্দেশ করছে। 
সি প্রোগ্রামিং কেস-সেনসিটিভ(case-sensitive) হওয়ায় সকল কীওয়ার্ডকে অবশ্যই ছোট হাতের অক্ষরে লিখতে হবে। এখানে আনসি(ANSI) সমর্থিত সকল কীওয়ার্ড এর তালিকা তুলে ধরা হলোঃ

সি ভ্যারিয়েবল

প্রোগ্রামিং এ ভ্যারিয়েবল হলো তথ্য জমা রাখার পাত্র(notainer) বা স্টোরেজ এরিয়া।
স্টোরেজ এরিয়াকে নির্দেশ করার জন্য প্রত্যেকটি ভ্যারিয়েবলের একটি ইউনিক নাম দিতে হয়(আইডেন্টিফায়ার)। মেমোরি লোকেশনকে নির্দেশ করার জন্য ভ্যারিয়েবল হলো একটি সাংকেতিক নাম। উদাহরণস্বরূপঃ
int age =30;

এখানে age হলো একটি ইন্টেজার(integer) টাইপের ভ্যারিয়েবল এবং ইহাতে ভ্যালু এসাইন করা হয়েছে 32।
ভ্যারিয়েবলের ভ্যালু পরিবর্তন হতে পারে বলেই এর নাম দেওয়া হয়েছে ভ্যারিয়েবল।
সি প্রোগ্রামিং এ ব্যবহারের পূর্বেই ভ্যারিয়েবলকে ডিক্লেয়ার(declare) করতে হায়।

সি প্রোগ্রামিং এ ভ্যারিয়েবলের নাম রাখার নিয়মাবলী

  1. একটি বৈধ ভ্যারিয়েবলের নামের মধ্যে শুধুমাত্র বর্ণমালা(বড় হাতের বর্ণ বা ছোট হাতের বর্ণ) , ডিজিট(digits) এবং আন্ডারস্কোর(_) থাকতে পারে।
  2. ভ্যারিয়েবলের নাম বর্ণ অথবা আন্ডারস্কোর দিয়ে শুরু হতে হবে। তবে আন্ডারস্কোর দিয়ে ভ্যারিয়েবলের নাম শুরু করাকে অনুৎসাহিত করা হয়। কারণ আন্ডারস্কোর দিয়ে শুরু হওয়া ভ্যারিয়েবলের নাম সিস্টেমের নামের সাথে সংঘর্ষ বেধে কিছু ত্রুটি দেখা দিতে পারে।
  3. ভ্যারিয়েবলের নাম যেকনো দৈর্ঘের হতে পারে। তবে কম্পাইলার প্রথম ৩১ বর্ণ কে ভ্যারিয়েবলের নাম হিসাবে বেছে নেয়। তাই একটি প্রোগ্রামে দুটি ভ্যারিয়েবলের প্রথম ৩১ বর্ণ আলাদা হতে হয়।
  4. এই সমস্ত কীওয়ার্ড ছাড়া কম্পাইলার(compiler) এর উপর ভিত্তিকরে সি প্রোগ্রামিং ল্যাঙ্গুয়েজ আরোও কিছু কীওয়ার্ড সমর্থন করে।
সি দৃঢ়ভাবে(strongly) একটি টাইপ ল্যাংগুয়েজ। অর্থাৎ প্রোগ্রাম সম্পাদনের সময় ভ্যারিয়েবলের টাইপ পরিবর্তন হয় না।






No comments:

Post a Comment