آموزش C

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

آرگومان های متغیر در زبان C – آموزش زبان C

  • چهارشنبه ۲ آبان ۱۳۹۷
  • بازدید ۵۴۴ نفر

c variable arguments 4169 تصویر

آرگومان های متغیر در زبان C

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

به مثال زیر توجه کنید:

برای استفاده از این قابلیت باید فایل هدر stdarg.h را به برنامه خود اضافه کنید. در هنگام تعریف این گونه توابع، آرگومان اول همیشه باید یک int باشد. این آرگومان تعداد آرگومان هایی که به تابع ارسال می شوند را مشخص می کند.

در زیر مراجل مربوط به نحوه پردازش این آرگومان ها را مشاهده می کنید:

  • یک تابع تعریف کنید که آخرین آرگومان آن (…) باشد و همیشه قبل از (…) یک متغیر از نوع int تعریف کنید که نشان دهنده تعداد آرگومان ها است.
  • یک متغیر از نوع va_list در داخل تابع تعریف کنید. این نوع داده در فایل هدر h تعریف شده است.
  • از پارامتر int و ماکرو va_start برای مقدار دهی متغیر va_list استفاده کنید. ماکرو va_start در فایل هدر h تعریف شده است.
  • برای دسترسی به لیست آرگومان ها از ماکرو va_arg و متغیر va_list استفاده کنید.
  • از ماکرو va_end به منظور پاکسازی متغیر va_list از حافظه استفاده کنید.

اکنون با استفاده از مراحل فوق یک تابع ساده می نویسیم که می تواند تعدادی آرگومان بگیرید و سپس میانگین آن ها را بازگرداند:

امتحان کنید

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

توجه داشته باشید که در مثال فوق تابع average() دوبار فراخوانی شده است و هر دو بار اولین آرگومان نشان دهنده تعداد آرگومان های ارسال شده است.


باکس دانلود
شناسه:
۴۱۶۹
لینک دانلود:
جهت دانلود در کانال تلگرامی (ID: @Sourcesara) عضو شده و از لینک زیر دانلود را انجام دهید
ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است