কম্পিউটার টিউটোরিয়াল

int main() এবং int main(void) এর পার্থক্য (সি ভাষায়)

int main() — ফাংশনটি কোনো প্যারামিটার নেয় না বলে নির্দিষ্ট করে না। সি-তে এটি মানে ফাংশনটি যেকোনো সংখ্যক আর্গুমেন্ট নিতে পারে।

int main(void) — স্পষ্টভাবে বলে যে ফাংশনটি কোনো আর্গুমেন্ট নেবে না। এটি টেকনিক্যালি বেশি সঠিক এবং কম্পাইলারকে সতর্ক করে।

উদাহরণ ১: int main() আর্গুমেন্ট নিয়ে কল

#include <stdio.h>
int main() {
    static int a = 10;
    if (a--) {
        printf("after decrement a =%d\n", a);
        main(10); // আর্গুমেন্ট দিয়ে কল — কম্পাইল হয় (ওয়ার্নিং দিয়ে)
    }
    return 0;
}

আউটপুট: ৯ থেকে ০ পর্যন্ত প্রিন্ট হবে।

উদাহরণ ২: int main(void) আর্গুমেন্ট নিয়ে কল

#include <stdio.h>
int main(void) {
    static int a = 10;
    if (a--) {
        printf("after decrement a =%d\n", a);
        main(10); // এরর: too many arguments to function 'main'
    }
    return 0;
}

আউটপুট: error

সুতরাং

  • int main(void) ব্যবহার করা ভালো প্র্যাকটিস।
  • রিকার্সিভ কলের সময় আর্গুমেন্ট ছাড়াই কল করতে হয়: main()।
  1. C#-তে int.Parse() এবং Convert.ToInt32-এর মূল পার্থক্য কী?

  2. C#-তে মেথড (Method) এবং ফাংশন (Function) এর পার্থক্য

  3. C#-এ public, static, void কিওয়ার্ডের পার্থক্য (Main মেথড প্রসঙ্গে)

  4. পাইথনে মেথড এবং ফাংশনের পার্থক্য