نمایش نتایج 1 تا 5 از 5

نام تاپیک: تفاوت تابع اصلی int main و void main ...؟

  1. #1

    تفاوت تابع اصلی int main و void main ...؟

    با سلام و احترام.
    اینجانب بسیار تازه کارم و تازه با زبان های برنامه نویسی آشنا شوم و در تلاشم تا بر اساس اصول اون رو یاد بگیرم و بکار ببندم.

    بعد از دیدن تند قطعه کد به زبان سی چند سوال برایم پیش آمد.
    این که در بعضی از برنامه ها که تابع اصلی شروع میشد ، یا این دوحالت بودند:

    حالت اول:

    int main() {
    // some code
    }


    حالت دوم:

    void main() {
    // some code
    }


    این دو حالت چه تفاوتی با هم دارند...؟

    سوال بعضی این که در یعضی از برنامه مشاهده نمودم int main به این صورت نوشته شده بود:

    int main( int argc, char ** argv ) {
    // some code
    }

    مقداری که در () نوشته شده چکار می کنه.

    با سپاس

  2. #2

    نقل قول: تفاوت تابع اصلی int main و void main ...؟

    نقل قول نوشته شده توسط mohsen_bu مشاهده تاپیک
    با سلام و احترام.
    اینجانب بسیار تازه کارم و تازه با زبان های برنامه نویسی آشنا شوم و در تلاشم تا بر اساس اصول اون رو یاد بگیرم و بکار ببندم.

    بعد از دیدن تند قطعه کد به زبان سی چند سوال برایم پیش آمد.
    این که در بعضی از برنامه ها که تابع اصلی شروع میشد ، یا این دوحالت بودند:

    حالت اول:

    int main() {
    // some code
    }


    حالت دوم:

    void main() {
    // some code
    }


    این دو حالت چه تفاوتی با هم دارند...؟

    سوال بعضی این که در یعضی از برنامه مشاهده نمودم int main به این صورت نوشته شده بود:

    int main( int argc, char ** argv ) {
    // some code
    }

    مقداری که در () نوشته شده چکار می کنه.

    با سپاس
    سلام دوست عزيز.
    درواقع اون int و void نوع تابع هستند.
    كه void به معني پوچ هست. يعني اگر تابعي از نوع void تعريف شود نميتواند مقداري را برگرداند.
    و int نوع عدد صحيح ايت. يعني تابعي كه از نوع int تعريف شده باشد بايد يه مقدار صحيح را برگرداند.
    اينها فقط مربوط به تابع main نيستند و در تعريف توابع هم بايد به اين صورت تعريف شوند.

    در كد سوم كد هايي كه درون () مي بينيد آرگومان هاي تابع هستند. يعني مي تونيد با اين آرگومان ها مقداري را به تابع ارسال كنيد.

    موفق باشيد!!

  3. #3

    نقل قول: تفاوت تابع اصلی int main و void main ...؟

    تابع main همیشه باید یک عدد صحیح برگردونه ، این عدد بیان کننده این هست که برنامه درست اجرا شده و به پایان رسیده یا نه ، اگر عدد بازگشتی 0 باشه سیستم عامل میفهمه که اجرای برنامه بدون مشکل تموم شده ولی اگر عددی غیر از 0 باشه یعنی مشکلی در برنامه رخ داده بوده ، این مقدار بازگشتی اصولا در آخر برنامه ها با return 0 تعیین میشه ، اگر این خط رو پاک کنید باز هم مشکلی در اجرا به وجود نمیاد چون کامپایلر ++C به صورت خودکار در زمان کامپایل این مقدار بازگشتی ( return 0 ) رو به فایل اجرایی نهایی اضافه میکنه .

    در ++C استاندارد شما قادر نیستند مقدار بازگشتی تابع main برنامه رو void در نظر بگیرید ، اون void در بعضی کامپایلرهای خاص قابل قبول هست که تعدادشون خیلی خیلی کمه و کلا از لحاظ فنی مورد قبول نیست ، شما همیشه نوع بازگشتی تابع اصلی برنامت رو int در نظر بگیر .
    آخرین ویرایش به وسیله Felony : شنبه 30 دی 1391 در 15:12 عصر

  4. #4

    نقل قول: تفاوت تابع اصلی int main و void main ...؟

    نقل قول نوشته شده توسط sr2m72 مشاهده تاپیک
    در كد سوم كد هايي كه درون () مي بينيد آرگومان هاي تابع هستند. يعني مي تونيد با اين آرگومان ها مقداري را به تابع ارسال كنيد.
    موفق باشيد!!
    با تشکر از دوستان گرامی.
    لطفا در مورد این بالایی که گفتین کمی بیشتر توضیح دهید.
    و این مقادیری که من گذاشتم رو توضیح بدین لطفا.

    با سپاس

  5. #5

    نقل قول: تفاوت تابع اصلی int main و void main ...؟

    اول در مورد Commnad Line تحقیق کنید تا بفهمید اون ها به چه دردی میخورن ، بعد هم لینک زیر رو مطالعه کنید تا از نحوه استفاده از این آرگومان ها مطلع بشید .

    http://stackoverflow.com/questions/3...char-argv-mean

تاپیک های مشابه

  1. سوال: لزوم استفاده از تابع static در تابع اصلی(main)
    نوشته شده توسط aminaltavista در بخش C#‎‎
    پاسخ: 2
    آخرین پست: شنبه 16 اردیبهشت 1391, 20:30 عصر
  2. سوال: ( )void main
    نوشته شده توسط RahimiAdel در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 10
    آخرین پست: چهارشنبه 08 اردیبهشت 1389, 01:54 صبح
  3. تفاوت تابع و پروسیجر
    نوشته شده توسط tanha_nabash در بخش SQL Server
    پاسخ: 2
    آخرین پست: یک شنبه 14 تیر 1388, 14:10 عصر
  4. سوال: تفاوت تابع ereg با preg_match
    نوشته شده توسط payamsp در بخش PHP
    پاسخ: 1
    آخرین پست: پنج شنبه 20 فروردین 1388, 16:12 عصر
  5. اجرا شدن یک تابع بعد از تکمیل تابع اصلی
    نوشته شده توسط Milad Mohseny در بخش C#‎‎
    پاسخ: 9
    آخرین پست: سه شنبه 07 شهریور 1385, 09:41 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •