CodeBlanks Logo Icon CodeBlanks

argc ve argv

  • C kursu
  • Orta seviye
  • Ders 88/116
  • 4 dk

argc ve argv ile komut satırı argümanlarını öğrenirsin.

argc ve argv

C programında komut satırı argümanları, main fonksiyonuna iki parametre ile gelir: argc ve argv. argc, argüman sayısını tutan bir tamsayıdır; argv, her argümanı gösteren bir dize işaretçi dizisidir.

İlk argüman argv[0] her zaman programın adıdır. Gerçek kullanıcı argümanları argv[1]'den başlar. Örneğin ./prog elma armut yazarsan argc 3 olur; argv[1] "elma", argv[2] "armut" olur. Bu sayede programın davranışını çalışma anında değiştirebilirsin.

main imzası

Argümanları almak için main'in imzasını int main(int argc, char *argv[]) biçiminde yazarsın. Burada argv, char * türünden bir dizidir; her eleman bir dizeyi gösterir.

Parametre adları serbesttir; int main(int ac, char **av) da yazılabilir. Önemli olan türlerin sırasıdır: önce int, sonra char * dizisi. Parametre vermeden int main(void) yazarsan program argümanlara erişemez. Çoğu araç zinciri argümanları yine de belleğe koyar; ama standart yol imzayı açıkça yazmaktır.

Uygulama argc değerini yazdır

int main(int argc, char *argv[]) imzasını yaz. printf ile argc değerini "argc=%d\n" biçiminde yazdır. return 0 ile bitir.

Başlangıç kodu

main.c
#include <stdio.h>

// main imzasını argc ve argv ile yaz
// argc değerini yazdır

int main(void) {
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("argc=%d\n", argc);
    return 0;
}

Beklenen çıktı

argc=1

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 argc neyi tutar?

  • Argüman sayısını Doğru cevap
  • İlk argümanın adresini
  • Programın dönüş kodunu
  • Dize uzunluğunu

Açıklama: argc, komut satırından gelen argüman sayısını tutar.

2 argc değerini yazdır

Soru
printf("argc=%d
", ____);
Cevap
printf("argc=%d
", argc);

Açıklama: argc bir tamsayıdır; %d ile yazdırılır.

3 argc/argv bölümlerini eşle

Kavram Anlamı
argc Argüman sayısı
argv[0] Program adı
argv[1] İlk kullanıcı argümanı
char *argv[] Dize işaretçi dizisi

Orta seviye bölümündeki tüm dersler