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

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

c variable arguments 4169 آرگومان های متغیر در زبان C   آموزش زبان C

آرگومان های متغیر در زبان 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() دوبار فراخوانی شده است و هر دو بار اولین آرگومان نشان دهنده تعداد آرگومان های ارسال شده است.


لينک منبع

درباره ی admin

همچنین ببینید

دوره MCSA 70-762 – مبانی پایگاه داده SQL Server 2016 – گیت

کلاس اول از دوره آموزشی MCSA 70-762به این دوره آموزشی خوش آمدید. این آزمون برای متخصصین …

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *