تابع main در زبان سی دو تا آرگومان داره که یکی برای نگه داشتن تعداد آرگومان های ورودی و دومی برای پارامترهای ارسالی به برنامه که به صورت آرایه می باشد است و همیشه پارامتر اول این آرایه اسم فایل اجرای برنامه است و سایر پارامتر ها را کاربر می تونه در خط فرمان به برنامه ارسال کنه.
int main(int argc, char **argv)
مثلا در مثال زیر برنامه p.exe که به زبان سی نوشته شده می تونیم پارامتر های زیر رو به اون ارسال کنیم.
p.exe 150 2
می خواهیم برنامه عدد 150 را به مبنای 2 ببره به همین خاطر در داس دو پارامتر یکی خوده عدد دومی مبنای که می خواهیم تبدیل بشه رو به برنامه ارسال میکنیم. در برنامه نوشته شده به زبان سی ما باید این دو پارامتر را از تابع main بگیریم و اونا رو توی برنامه استفاده کنیم.
در مثال بالا argc برابر 3 است که اولی به نام p.exe اشاره میکنه و دومی به 150 و سومی به 2 .
کد:
argc = 3
argv[0] "p.exe"
argv[1] = "150"
argv[2] = "2"
در زیر تکه برنامه ای قرار دادم که با اجرای اون پارامتر های ورودی در خط فرمان به برنامه در خروجی نمایش داده خواهد شد.
کد:
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
printf("The following arguments were passed to main(): ");
for(i=1; i<argc; i++) printf("%s ", argv[i]);
printf("\n");
return 0;
}