Merhaba, tekrar hoş geldiniz.
Bu konuşmada, şu konulardan bahsetmek istiyorum komut satırı argümanları hakkında.
Bunu eklememin nedeni değişkenler ve veri
türleri bölümündeki bilgiler komut satırı argümanları programınıza veri aktarmanın
bir yoludur.
Yani bu bir çeşit programınıza bir değişken ekleyin.
Ve bu çok yararlı ve Bunu sık sık yapıyorsunuz, bu yüzden bu konuyu hızlıca
ele almak istedim.
Yani komut satırı argümanları.
Temel olarak, bazı zamanlar vardır ki kullanıcının küçük bir miktar girmesini gerektiren
bir program geliştirilmiştir terminaldeki bilgilerin.
Yani tam da bunun ima ettiği gibi, komut satırı argümanları
esasen program argümanlarıdır.
Bu şekilde geçebilirsin verileri bir programa aktarır.
Yani bir kullanıcıya veya bir Programın dinamik ve kullanıcı tarafından girilen verilere ihtiyacı
vardır, bu verileri aktarabileceğiniz birkaç farklı
yol vardır.
Kullanıcıdan bunu isteyebilirsiniz veya bir program olarak aktarabilirsiniz.
Ve bunu yapmak istemenizin nedeni Bunun nedeni, yine kullanıcının
bir sayı girmesine ihtiyaç duyabilmenizdir. hesaplanmasını istediğiniz üçgen sayıyı veya
kullanıcının sözlükte aramak istediğiniz bir kelimeyi girmesi gerekir.
Tüm veriler statik değildir ya da değişmez.
İhtiyacınız olan bazı veriler kullanıcıdan giriş yapmasını isteyin.
Ve dediğim gibi bunu iki şekilde yapabilirsiniz.
Verileri şuradan talep edebilirsiniz ve bu konu hakkında
gelecek derslerde konuşacağız ya da Programın yürütüldüğü anda programa
bilgi sağlar.
Ve atıfta bulunulan şey şudur komut satırı argümanları olarak.
Programınıza veri aktarmak için program çalıştırıldığında komut satırı.
Ve bu yüzden zaten biliyoruz ki her c programının bir ana işlevi vardır.
Bu özel bir işlevdir temel olarak programın giriş
noktasıdır.
Aynı zamanda özeldir çünkü komut satırı argümanlarını almak için kullanılır.
Bu yüzden main çağrıldığında çalışma zamanı sistemlerinde, aslında
buna iki argüman aktarılır fonksiyonu, komut satırı argümanları.
İki argüman birincisidir bir tanesi argüman sayısıdır.
Ne kadar veri kullanılıyor programa aktarılır.
Bu bir tamsayı değeridir.
sayısını belirtir. komut satırında yazılan argümanlar.
İkinci argüman argüman vektörü için arg v ile temsil edilir.
karakter işaretçileri dizisi.
Şimdi kendinize sorabilirsiniz dizi nedir.
Henüz dizinin ne olduğunu bilmiyoruz.
Ama yine de, önemli olan komut satırı argümanlarını nasıl iletebileceğinizi
anlayın.
Bir diziyi şu şekilde düşünebilirsiniz Şimdilik birçok farklı değişken var.
Yani ilk argüman arg c argüman için, ikinci argümanı
bir vektör olarak sayın.
Unutmayın, argümanlar sizin bir işleve veri aktarabilir.
Hepsi bu kadar. Bu gerçekten o kadar karmaşık değil, bu
yüzden ana fonksiyon ana fonksiyona bazı veriler iletir.
Programı çalıştırdığınızda, bu veriler, programı komut satırında çalıştırdığınızda
belirtilebilir.
Unutmayın, bir programı çalıştırdığınızda Eğer çalıştırılabilir bir dosyaysa
üzerine çift tıklayın ya da Linux veya Windows'ta nokta eğik çizgi ve
nokta dışarı yaparak çalıştırırsınız.
Peki, bunu yaptığında aslında programdan sonra bir
şeyler aktarabilirsiniz.
Yani program diyebilirsiniz. exe ve ondan sonra parametreleri,
ondan sonra verileri koyun.
Ve göstereceğim bunu nasıl yapacağınızı.
Yani yine ilk giriş dizisi çalıştırılmakta olan programın
adını gösteren bir işaretçidir ve ardından Bundan sonraki her şey argümanlar olacaktır
ve ben bunu göstereceğim.
İşte size bir örnek ana işlevdir
ve iki argümanı ya da iki parametresi vardır.
Bu konu hakkında konuşacağız. parametreler ve argümanlar
arasında da fark vardır.
Ama görüyorsunuz ki argsie ve sonra char ve bir
yıldız işareti var arg v.
Tekrar söylüyorum, bunun için endişelenme. Temel
olarak virgülden sonraki her şey programa aktarıyorsunuz.
Ve arg c şöyle olacaktır verilerin numarası.
Öyleyse bir örnek üzerinden gidelim Bunu öğrenmenin en iyi yolu bu.
İşte örneğimiz.
Eğer veriyi bizim programını komut satırı üzerinden çalıştırmak istiyorsak, main'imizde
parametrelere sahip olmamız gerekir.
Bu noktaya kadar, Main sadece iki boş parantez ile boş bırakılmıştır.
Yani yapmamız gereken ilk şey sadece arg c demek zorunda.
Aslında herhangi bir isim olabilir ama arg c argüman sayılarını temsil eder.
Ve sonra char star arg v.
Ve yine, endişelenme şimdilik bu sözdizimi hakkında.
Ama önce bu ikisini eklememiz gerekiyor.
Ve bu yüzden biraz yaratacağım Burada verilerin aktarıldığını gösteren
değişkenler ve.
Yani veriler aktarıldığı için, Bir yerde saklamam lazım.
Bu yüzden bir int türünde değişken sadece
argüman sayısıdır.
Ve bu da arg c'ye eşit olmalıdır.
Arg c sadece değişken ve size bunun neyi temsil ettiğini
göstereceğim.
Bir tane daha yaratacağım değişkeni
sadece argümanımızı temsil ediyor ve bu arg v sıfıra eşit olmalıdır.
Tekrar söylüyorum, endişelenmeyin. arg v sıfır sözdizimi.
Bu kod satırının yaptığı şey 13. satır, 1. değişken argümanını
program adına eşit olarak ayarlıyor.
Ve sonra bir tane daha yaparsak, karakter yıldızı argümanı
iki diyoruz ve arg v sub 1'e eşittir.
Ve sonra biz sadece gidiyoruz bu verileri yazdırmak için.
Bu yüzden yazdır diyeceğiz argüman sayısı ve değer değişkenini yazdırmak
istiyoruz, bu yüzden bu formatı kullanmak zorunda olduğunuzu belirtin.
Yüzde d diyeceğiz.
Ve virgülden sonra, argüman sayısı diyeceğiz çünkü bu
bir değişkenini görüntülemek istiyoruz.
Ve sonra başka bir argüman 1'i yazdıracak
print deyimi.
Ve bu da program adını temsil eder.
Ve yine, bir yüzde sembolümüz var bu yüzden yüzde s diyeceğiz
çünkü bu yine bir string değil bu noktada anlamak önemlidir.
Çoğu zaman, gösterdiğinizde kod örneklerinde, değişkenlerin değerini yazdırmak
istersiniz.
Ve böylece bu printf ifadeleri 16 ve 17, değişkenlerin değerini
yazdırıyor. main, bunlar komut satırı argümanlarıdır, bu yüzden gösteriyorum.
Ve son olarak şunu söylemek istiyorum. display
ikinci argümanımızdır ve bu komut satırı argümanıdır, program adına ek olarak.
Bu argüman 2 olacaktır görüntüleyeceğiz.
Ve sonra 0 değerini döndüreceğiz.
Yani çok basit bir program çok fazla işlevselliğe
sahip değil.
Sadece temel olarak verileri alır aktarılan işlevden alır ve
bu verileri görüntüler.
Yani ben sana bir programa veri aktarır.
Yine, unutmayın ki Bu programı çalıştırdığımızda, bir menü seçeneğine
çift tıklıyoruz.
Ama gerçekte olan şey bir komutu yürütmek, çift tıklama veya
exe çalıştırma veya linux'ta ya da unix'te nokta çıkışı yapıyorsunuz.
Ve böylece programı çalıştırdığınızda, aslında ona veri aktarabilirsiniz.
Yani aslında yürütmediğimiz için komutunu verdiğimizde, menüyü yapıyoruz,
verileri entegre geliştirme ortamı.
Ve neyse ki kod blokları Bunu yapmanın güzel bir yolu.
Verileri komut satırı olarak iletmek için bir programla tartışırken
tek yapmanız gereken projenize gitmektir, vurgulayın, proje yazan menü seçeneğine gidin
ve ardından program argümanlarını ayarlamaya gidin.
Ve buraya bakın, bir pencere ortaya çıkar ve burada temel olarak sadece argümanlarınızı
söyleyebilirsiniz.
Ve siz de Burada istediğin kadar var.
Hadi başlayalım.
Sadece adımı yazacağım Jason.
Bu tartışmayı geçeceğim. Program çalıştırıldığında bu veriler
programıma girilir.
Ben de tamam diyeceğim.
O yüzden gideceğim. devam edin ve bunu derleyin.
Ve çalıştırdığımda, ne yapıyorum argüman sayısının değerinin ne olacağını
düşünüyorsunuz?
Unutmayın ki bir tane geçilen argüman program
adıdır ve sonra ben Jason'da geçiyor, bu yüzden bu 2'ye,
2 sayısına eşit olmalıdır.
Argüman 1 şu şekilde olacak program adı, bu yüzden ne isim verirsem
vereyim program adı bu olmalıdır ve bunun bir test oluşturup oluşturmayacağını
hatırlayamıyorum.
O halde 2. argüman Jason olmalıdır çünkü bu benim geçtiğim şey.
Şimdi çalıştırırsam bakalım ne olacak? çalıştır dediğimizde, argüman sayısının iki olduğunu
göreceksiniz.
Birinci bağımsız değişken program adıdır ve formatı okumak çok zor
çünkü yeni satır yok.
O zaman baştan başlayalım ve aslında bazı yeni satırlar eklemek.
Nasıl yeni ekleyebiliriz yazdırılacak satırlar.
Sadece bir kaçış kullanabiliriz dizisi, bir ters eğik çizgi n'dir.
Öyleyse bir ters eğik çizgi n ekleyelim ilk print deyimi için
d yüzdesinden sonra ve bir sonrakinden sonra ters eğik çizgi n.
Böylece çıktı olarak daha okunabilir olur.
Ve şimdi bunu kaydedelim. tekrar oluşturun ve çalıştırıp bu sefer çıktının ne
olduğunu görelim.
Umarım okuması daha kolay olur.
Şimdi onu çalıştırdığımızda ayrı satırlar olduğunu
görmek, okumayı çok daha kolaylaştırıyor.
Argüman sayısı görüntülenir çünkü daha önce de belirttiğim gibi ilk
argüman program adı ikinci argüman benim içeri aktardığım şey.
Ve argüman 1 aslında görüntülenir programın adı olarak, ki bu benim tüm dizinimdir yapısını
oluşturun ve ardından test edin. exe.
Ve 2. argüman Jason çünkü ID'de ayarladığım şey bu.
Şimdi gidebilirim ve değiştirebilirim proje
menü seçeneğine giderek program argümanlarını ve projenin program argümanlarını ayarlamaya gittiğini ve bunu değiştirebileceğimi
söylüyor.
Şimdi bunu değiştirdiğimde, eğer Başka bir şeyle değiştir ya da bir şey söyleyeceğim.
Şimdi çalıştırdığımda, veriler programa aktarılacak
olan bir şey olacak farklı olacak ve aslında tek yapmanız gereken yeniden
derlemek zorunda değilsiniz.
Şimdi sadece bir şey görüntülenir.
Ve bu da sizin Kullanıcıdan özel olarak istemeden bir
programa veri aktarır.
Sadece IDE'ye yazarsınız ve programa aktarın.
Ve çok sayıda argüman iletebilirsiniz.
Sadece bunu geçmek zorunda değilsiniz.
Eğer daha fazla pas vermek istiyorsan sadece tekrar program
argümanlarını ayarlamaya gidin ve ya yeni satırlarla ayırın, Tabii ki, bunları kullanmak istiyorsanız, bunlara ancak
birçok dizi geçirebilirsiniz.
Yani bu, verileri aşağıdakilere aktarmak için kullanışlıdır Kullanıcıdan klavyede bir şey yazmasını istemeden
bir program.
Eğer bu şekilde yapmadıysanız program duraklıyor ve kullanıcı
lütfen bir şey girin diyordu.
Ve sonra kullanıcı şunu girecektir ve sonra bunu bir
değişkene kaydetmeniz ve sonra yürütmeye devam etmelisiniz.
Bu şekilde sormak zorunda kalmazsınız kullanıcıya herhangi bir şey için sadece
programın bir parçası olarak iletirsiniz.
Yani bu ne komutu satır argümanlarıdır.
Bu diğer kavramlar hakkında endişelenmeyin diziler gibi, işaretçiler için yıldız işareti
görürsünüz, bunun için endişelenmeyin.
Tekrar söylüyorum, bu sadece komut satırı argümanları.
Ve eriştiğiniz yol işlevdeki bu parametreler
aracılığıyla yapılır.
Ama yine de, ana nokta şudur işte böyle yapabilirsiniz.
Ve bu yararlı olacak diğer programlar için kullanışlıdır ve değişkenlerle
ilişkilidir.
Teşekkür ederim.