آموزش توابع بخش سوم – { انواع توابع در زبان C }

مقدمه

با سلام خدمت همه شما دوستان. در این قسمت میخوایم در مورد انواع توابعی که میشه در زبان C ساخت با همدیگه صحبت کنیم. پیشنهاد میکنم قبل از ادامه این بحث ، دو جلسه ای که قبلا در مورد توابع منتشر شده بود رو مطالعه کنید:

انواع توابع:

معمولا توابعی که توسط کاربران ساخته میشه رو میتونیم به 4 دسته کلی تقسیم کنیم:

  • توابع بدون آرگومان ( ورودی) و بدون return
  • توابع بدون آرگومان و دارای return
  • توابع دارای آرگومان و بدون return
  • توابع دارای آرگومان و دارای return

ما با استفاده از مثال چک کردن اعداد اول میخوایم هر چهار نوع تابع بالا رو پیاده سازی کنیم. البته ما دیگه کد مربوط به این جلسه رو توضیح نمیدیم چون بسیار ساده هست ولی اگه باز جایی مشکل داشتید بفرمایید تا حل مشکل مشکل کنیم.

 

مثال 1 : توابع بدون آرگومان و بدون return :

کد زیر رو در نظر بگیرید:

 

در کد بالا با استفاده از تابع checkPrimerNumber میتونیم اول بودن یا اول نبودن یک عدد رو چک کنیم. همونطور که مشاهده میکنید داخل پرانتز مربوط به این تابع چیزی آورده نشده و در واقع این تابع هیچ ورودی ای نداره و در ضمن در prototype تابع که در ابتدا برنامه هم تعریف شده ، مشاهده میکنیم که تابع از نوع void هست که به این معناست که این تابع ، هیچ خروجی هم نخواهد داشت.

 

مثال 2 : توابع بدون آرگومان و دارای return :

کد زیر رو در نظر بگیرید:

 

در کد بالا از تابع getInteger استفاده شده که این تابع همونطور که مشاهده میکنید در داخل پرانتزهاش چیزی نیومده. پس هیچ ورودی ای دریافت نمیکنه . اما در prototype این تابع که در ابتدا برنامه تعریف شده میبینیم که نوع تابع از نوع int تعریف شده که به این معناست که یک عدد int در خروجی خودش خواهد داشت.

مثال 3: توابع دارای آرگومان و بدون return :

کد زیر رو نگاه کنید:

 

در این کد از تابع checkPrimeandDisplay  استفاده شده است که این تابع همونطور که مشاهده میکنیم داخل پرانتزش یک عدد n آورده شده است که به این معناست که این تابع دارای یک ورودی هست. در prototype تابع هم مشخص است که این تابع از نوع void تعریف شده و به همین دلیل هیچ خروجی ندارد.

مثال 4 : تابع دارای آرگومان و دارای return :

به کد زیر نگاه کنید :

 

در این کد از تابع ChekcPrimeNumber استفاده شده است و همونطور که مشاهده میکنید ، در داخل پرانتزش یک ورودی داره. پس این تابع دارای آرگومان هست. همچنین با نگاهی به prototype این تابع میبینیم که این تابع دارای یک خروجی از نوع int هم می باشد. پس با این حساب این تابع هم ورودی و هم خروجی داره.

استفاده از کدام یک از نوع توابع بهتر است؟ 

نمیشه به این سوال پاسخ دقیقی داد. در واقع بسته به نوع مساله شما ، استفاده از هر کدوم از این توابع میتونه ویژگی ها و مشخصه های خاص خودش رو داشته باشه. در مثالی که ما در بالا استفاده کردیم ، شاید استفاده از تابع نوع چهارم مناسب تر باشه.

تابعی که ما در مثال چهارم استفاده کردیم هیچ ورودی ای از کاربر نمیگیره ( ورودی رو ما چند خط قبل در تابع main از کاربرد میگیریم)  و هیچ چیزی رو هم در خروجی بهش نمایش نمیده. تنها کاری که میکنه این هست که ، چک میکنه که آیا یک عدد اول هست یا خیر. تنها همین. این کار به ماژولار کردن برنامه و به تبع اون دیباگ آسان تر برنامه کمک بسیاری خواهد کرد.

خوب دوستان. برای این جلسه هم کافی هست. ما در جلسه بعد در مورد توابع بازگشتی صحبت خواهیم کرد. مثل همیشه میتونید ما رو در تلگرام و یا اینستاگرام دنبال کنید:

 

اشتراک گذاری:
مطالب زیر را حتما بخوانید

دیدگاهتان را بنویسید