কম্পিউটার

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


কখনও কখনও আমরা দেখি যে প্রধান ফাংশনের সংজ্ঞা দুই প্রকার। int main() এবং int main(void)। তাহলে কি কোনো পার্থক্য আছে?

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

উদাহরণ

#include<stdio.h>
void my_function() {
   //some task
}
main(void) {
   my_function(10, "Hello", "World");
}

আউটপুট

This program will be compiled successfully

উদাহরণ

#include<stdio.h>
void my_function(void) {
   //some task
}
main(void) {
   my_function(10, "Hello", "World");
}

আউটপুট

[Error] too many arguments to function 'my_function'

C++ এ, উভয় প্রোগ্রামই ব্যর্থ হবে। সুতরাং এটি থেকে আমরা বুঝতে পারি যে int main() কে C-তে যেকোন সংখ্যক আর্গুমেন্ট দিয়ে কল করা যেতে পারে। কিন্তু int main(void) কোনো আর্গুমেন্ট অনুমোদন করবে না।


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

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

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

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