int argc, char *argv[] ne anlama geliyor?
Birçok C++ IDE'sinde ve derleyicisinde, sizin için ana işlevi oluşturduğunda, aşağıdaki gibi görünür:
int main(int argc, char *argv[])
Bir IDE olmadan, sadece komut satırı derleyicisi ile C++ kodladığımda, şunu yazıyorum:
int main()
herhangi bir parametre olmadan. Bu ne anlama geliyor ve programım için hayati önem taşıyor mu?
475
3
argv
ve
argckomut satırı argümanlarının C ve C++'da
main()` fonksiyonuna nasıl aktarıldığını gösterir.argc
,
argv` tarafından işaret edilen dizelerin sayısı olacaktır. Bu (pratikte) 1 artı argüman sayısı olacaktır, çünkü neredeyse tüm uygulamalar programın adını dizinin başına ekleyecektir.Değişkenler geleneksel olarak
argc
(argüman sayısı) veargv
(argüman vektörü) olarak adlandırılır, ancak bunlara herhangi bir geçerli tanımlayıcı verilebilir:int main(int num_args, char** arg_strings)
eşit derecede geçerlidir.Komut satırı argümanlarını işlemeyi düşünmüyorsanız,
int main()
sonucunu vererek tamamen atlanabilirler.Aşağıdaki programı deneyin:
argc
komut satırından programınıza aktarılan argüman sayısı ve
argv` argüman dizisidir.Sayılarını bilerek argümanlar arasında döngü yapabilirsiniz:
main
parametreleri, program başlatıldığında programa sağlanan komut satırı parametrelerini temsil eder. argc
parametresi komut satırı bağımsız değişkenlerinin sayısını temsil eder vechar *argv[]
komut satırında sağlanan bağımsız değişkenleri temsil eden dizelerden (karakter işaretçileri) oluşan bir dizidir.