কম্পিউটার

কেন C/C++ ভেরিয়েবল সংখ্যা দিয়ে শুরু হয় না


C/C++ এ, একটি পরিবর্তনশীল নামের বর্ণমালা, সংখ্যা এবং আন্ডারস্কোর( _ ) অক্ষর থাকতে পারে। C/C++ ভাষায় কিছু কীওয়ার্ড আছে, সেগুলো ছাড়া সবকিছুই আইডেন্টিফায়ার হিসেবে ধরা হয়। শনাক্তকারী হল পরিবর্তনশীল, ধ্রুবক, ফাংশন ইত্যাদির নাম।

আমরা শনাক্তকারী নির্দিষ্ট করতে পারি না যা একটি সংখ্যা দিয়ে শুরু হয় কারণ নিম্নরূপ কম্পাইলারের সাতটি পর্যায় রয়েছে৷

  • শাব্দিক বিশ্লেষণ
  • সিনট্যাক্স বিশ্লেষণ
  • অর্থাৎ বিশ্লেষণ
  • ইন্টারমিডিয়েট কোড জেনারেশন
  • কোড অপ্টিমাইজেশান
  • কোড জেনারেশন
  • প্রতীক টেবিল

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

নিম্নলিখিতটি একটি উদাহরণ যা C.

-তে পরিবর্তনশীল ঘোষণা প্রদর্শন করে

উদাহরণ

#include <stdio.h>
int main() {
   int 5s = 8;
   int _4a = 3;
   int b = 12;
   printf("The value of variable 5s : %d", 5s);
   printf("The value of variable _4a : %d", _4a);
   printf("\nThe value of variable b : %d", b);
   return 0;
}

উপরের প্রোগ্রামটি একটি ত্রুটির দিকে নিয়ে যায় "পূর্ণসংখ্যা ধ্রুবকের উপর অবৈধ প্রত্যয় "s" কারণ একটি ভেরিয়েবল 5 দিয়ে শুরু হয়। যদি আমরা এটি সরিয়ে দেই, তাহলে প্রোগ্রামটি সঠিকভাবে কাজ করবে।

একটি উদাহরণ যা নতুন প্রোগ্রামটি প্রদর্শন করে তা নিম্নরূপ।

উদাহরণ

#include <stdio.h>
int main() {
   int _4a = 3;
   int b = 12;
   printf("The value of variable _4a : %d", _4a);
   printf("\nThe value of variable b : %d", b);
   return 0;
}

আউটপুট

উপরের প্রোগ্রামের আউটপুট নিম্নরূপ।

The value of variable _4a : 3
The value of variable b : 12

  1. কেন বিশ্বব্যাপী ভেরিয়েবলগুলি C/C++ এ খারাপ?

  2. কেন আমরা C/C++ এ গ্লোবাল ভেরিয়েবল ব্যবহার করা এড়িয়ে চলব?

  3. C++ এ ভেরিয়েবল, তাদের প্রকার এবং স্কোপ

  4. C# এ ভেরিয়েবলের স্কোপ