آموزش C

مباحث پایه زبان C

توابع در زبان C – آموزش زبان C

  • سه شنبه ۲۷ شهریور ۱۳۹۷
  • بازدید ۵,۳۲۶ نفر

تصویر c-functions_4059 توابع در زبان C - آموزش زبان C

توابع در زبان C

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

کتابخانه استاندارد C توابع پیش ساخته متعددی را فراهم می کند که می توانید در برنامه های خود از آن ها استفاده کنید. برای نمونه تابع strcat() برای چسباندن دو رشته به یک دیگر استفاده می شود.

تعریف یک تابع

شکل کلی تعریف یک تابع در زبان C به صورت زیر است:

تعریف یک تابع شامل یک بخش هدر و یک بخش بدنه می شود. قسمت های مختلف یک تابع در زیر توضیح داده شده است:

  • return_type : نوع داده ای است که تابع قرار است بعد از اتمام کارش باز گرداند. اگر تابع هیچ مقداری را بر نمی گرداند، می توانید آن را به صورت void تعریف کنید.
  • funcation_name : اسم تابع را مشخص می کند. اسم تابع به همراه لیست پارامترها امضای یک تابع را تشکیل می دهند.
  • parameter list : پارامترهای یک تابع را مشخص می کند. یک پارامتر مانند یک placeholder عمل می کند و زمانی که شما تابع را فراخوانی می کنید، باید مقدار پارامترهای تعریف شده را نیز به آن بدهید. همچنین یک تابع می تواند بدون پارامتر تعریف شود.
  • body of the function : بدنه تابع را مشخص می کند. بدنه تابع شامل مجموعه ای از دستورات است که عملی که تابع انجام می دهد را تعریف می کنند.

مثال

در زیر سورس کد مربوط به یک تابع که max() نام دارد را مشاهده می کنید. این تابع دو پارامتر با نام های num1 و num2 می گیرد و هر کدام که از دیگری بزرگتر باشد را به عنوان مقدار بازگشتی باز می گرداند.:

اعلان یک تابع

اعلان یک تابع، اطلاعات لازم در مورد تابع (مانند اسم تابع، مقدار بازگشتی و پارامترهای تابع) و نحوه فراخوانی آن را به کامپایلر می دهد. بدنه اصلی تابع می تواند به صورت جداگانه تعریف شود.

اعلان یک تابع به صورت زیر انجام می شود:

برای مثال، اعلان تابع max() که در مثال بالا به آن پرداختیم، به صورت زیر است:

 

توجه! نام پارامترها در اعلان یک تابع مهم نیستند و فقط نوع آن ها اهمیت دارد. بنابراین می توان اعلان بالا را به این صورت نیز نوشت:

اعلان تابع زمانی که شما تعریف تابع را در یک فایل دیگر نوشته اید، لازم است.

فراخوانی یک تابع

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

امتحان کنید

زمانی که کد بالا توسط کامپایلر زبان C و اجرا شود نتیجه زیر را تولید خواهد کرد:

آرگومان های تابع

اگر یک تابع از آرگومان استفاده می کند، باید متغیرهایی را برای گرفتن این مقادیر اعلان کند. این متغیرها پارامتر نامیده می شوند. پارامترها مانند متغیرهای محلی عمل می کنند و هنگام ورود به تابع ایجاد و بعد از خروج از تابع از بین می روند. در هنگام فراخوانی یک تابع، دو راه برای ارسال آرگومان ها به آن وجود دارد که در زیر مشاهده می کنید:

ردیفتوضیحات
1فراخوانی با مقدار (Call By Value)

در این نوع فراخوانی فقط یک کپی از مقدار اصلی به تابع ارسال می شود و تغییرات اعمال شده در تابع تاثیری بر مقدار اصلی ندارد.

2فراخوانی با ارجاع (Call By Reference)

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

توجه! در زبان C به طور پیشفرض آرگومان ها به صورت فراخوانی با مقدار (By Value) به توابع ارسال می شوند. به این معنی که توابع نمی توانند مقادیر اصلی آرگومان ها را تغییر دهند.

 

باکس دانلود
ثبت نظر
ریفریش کنید!
نظرات کاربران (۱ مورد)
  1. تصویر آواتار کاربر 0
    ابراهیم ژاله رو دوشنبه , 9 اسفند

    خیلی ممنون،بسیار عالی،موفق باشید