কম্পিউটার

int main() এবং int main(void) এর মধ্যে C/C++ পার্থক্য


C

সি প্রোগ্রামিং ল্যাঙ্গুয়েজে, যদি একটি ফাংশন সিগনেচারে কোনো প্যারামিটার না থাকে তবে এটি ইনপুট হিসাবে একাধিক আর্গুমেন্ট নিতে পারে কিন্তু C++ এর ক্ষেত্রে এটি সত্য নয়। আর্গুমেন্ট C++ এ এই ধরনের ফাংশনে পাস করা হলে কম্পাইলেশন ব্যর্থ হবে। এই কারণেই C-তে int main() এবং int main(void) একই, কিন্তু int main(void) হল আরও ভাল পন্থা, যা ব্যবহারকারীকে প্রধান ফাংশনে একাধিক আর্গুমেন্ট পাস করতে বাধা দেয়।

উদাহরণ (C)

#include <stdio.h>
int main() {
   static int counter = 3;
   if (--counter){
      printf("%d ", counter);
      main(5);
   }
}

আউটপুট

2 1

উদাহরণ (C++)

#include <iostream>
using namespace std;
int main() {
   static int counter = 3;
   if (--counter){
      cout << counter;
      main(5);
   }
}

আউটপুট

main.cpp: In function 'int main()':
main.cpp:10:13: error: too many arguments to function 'int main()'
main(5);
^
main.cpp:5:5: note: declared here
int main()
^~~~

  1. C/C++ এ strncmp() এবং strcmp() এর মধ্যে পার্থক্য

  2. C/C++ এ #include <filename> এবং #include filename এর মধ্যে পার্থক্য?

  3. C/C++ এ const int*, const int * const এবং int const * এর মধ্যে পার্থক্য?

  4. C++ এ একটি সংজ্ঞা এবং একটি ঘোষণার মধ্যে পার্থক্য কী?