Merhaba, hoş geldiniz.
Bu konuşmada, şu konulardan bahsetmek istiyorum argümanlar ve parametreler hakkında.
Bu terimler genellikle birbirinin yerine kullanılır.
Uğraşmak zorunda oldukları şey ile temel olarak bir fonksiyona aktardığınız
verilerdir.
Yani bir parametre bir değişkendir ve bir işlev bildirimi
ve bir işlev tanımı uygulaması.
Unutmayın, bu fark fonksiyon bildirimi, fonksiyon
prototipi ve fonksiyon tanımı.
İşlev bildirimi şöyledir sadece metot imzasıdır,
fonksiyon başlığıdır.
Fonksiyon tanımı şöyledir fonksiyonun
uygulanması, gerçek kod.
Bunların her ikisinde de terimler beyan tanımı, bu farklılıkları
anlamak.
Ama parametre, içinde ne olduğudur. işlev bildirimi ve tanımı,
bu başlıkta yer alır.
Çünkü hem başlık dahil edilmiştir beyannamedeki tanımda.
Bir fonksiyon çağrıldığında argümanları, fonksiyon parametrelerine aktardığınız
verilerdir.
Bunlar gerçek değerlerdir fonksiyona aktarılan
bir değişkeni tanımlar.
Yani tanımlanan fonksiyon parametreleri fonksiyon başlığı içinde
ve bunların yer tutucuları için işlev çağrıldığında belirtilmesi
gereken argümanlar.
Yani buradaki farkı anlayın argümanlar ve parametreler arasında.
Parametrelerin aşağıdakilerle ilgisi vardır fonksiyon tanımı ve bildirimi.
Tartışmalar sizin fonksiyonu çağırdığınızda,
fonksiyonu çağırdığınızda ilettiğiniz veriler.
Yani çağırdığınızda argümanlar kullanılır.
Bunların argümanlar olduğunu söyleyeceksiniz benim fonksiyonuma gidecekler.
Ve fonksiyon aldığında Bu veriler, parametreler
olarak adlandırılır.
Bir fonksiyon için parametreler veri türleriyle birlikte parametre adlarının
bir listesidir.
Her bir parametre virgül ile ayrılmıştır.
Tüm parametre listesi şöyledir fonksiyonun adını takip eden parantezler
içine alınır.
Bir fonksiyonun parametreleri, yani kendisine
aktarılan hiçbir veri yoktur.
Ve bu durumda, sadece sol ve sağ parantezler arasında bir boşluk varsa
veya boşsa yine de aralarında boş bir şey olmayabilir, ancak bu iyi bir uygulamadır
Aralarına bir boşluk koymak için.
Void özel bir anahtar kelimedir hiçbir şey ifade etmez, parametre veya dönüş verisi
olmadığı anlamına gelir.
Parametreler şu araçları sağlar bir fonksiyona veri aktarmak için.
Çağıran işlevden aktarılan veriler çağrılan fonksiyona,
invoke e alıcı uca, invoke arayan uç ve alıcı uç.
Parametrelerin adları fonksiyon için yereldir.
Bu konu hakkında konuşacağız. yerel veriler hakkında konuştuğumuzda.
Ancak bu parametre adları yalnızca fonksiyon gövdesi içinde bulunur.
Değerlerini varsayacaklardır. kendisine iletilen argümanlar.
Yani eğer bir fonksiyonunuz varsa eklediğinizde, bir değişkeni argüman
olarak iletirsiniz, değeri iletirsiniz 5 ve x parametresine sahip bir fonksiyonunuz
varsa, x eşit olacaktır fonksiyon gövdesinin herhangi bir yerinde 5'e kadar.
Fonksiyonun gövdesi uygulamasında bu parametreleri
kullanmalıdır.
Eğer olmazsa, o zaman geçmemeliydi.
Eğer bir parametre değişkeniniz varsa fonksiyon bildirim
tanımınızda tanımlanır ve bunu asla kullanmazsınız değişkeni fonksiyonun içindeyse, bu israftır,
dahil etmeyin çünkü Bu sadece ihtiyacın olmadığını söylemektir.
Veri göndermeyin kullanmayan fonksiyon.
Bir fonksiyon gövdesi ek fonksiyonlara sahip olabilir fonksiyon uygulaması tarafından ihtiyaç
duyulan yerel olarak tanımlanmış değişkenler.
İşlevin içinde olabilir için gerekli oldukları için bildirilen diğer
değişkenlerin gövdesi tamamladığınız görev ne olursa olsun.
Sadece iş yapmıyorsunuz kendisine iletilen veriler üzerinde.
Yerel olarak çalışabilirsiniz fonksiyonun içindeki veriler.
Bir diziyi bir dizi olarak geçirirken argümanını bir işleve eklediğinizde,
ek bir argüman da iletmeniz gerekir, dizinin boyutunu belirten başka bir parametre
tanımlanmıştır.
Bunun nedeni ise fonksiyonunun dizide kaç eleman olduğunu bilmesinin
hiçbir yolu yoktur.
Bu nedenle, bir 50 boyutundaki bir dizide yalnızca 30 öğe
depoluyor olabilirsiniz.
Ve eğer bunu kullanacaksan dizisini işlev gövdesi içinde kullanıyorsanız,
muhtemelen ne kadar büyük olduğunu bilmelisiniz çünkü ya yinelemeniz
gerekecek Bir döngü kullanarak veya öğelere erişmeniz
gerekecek.
Ve eğer erişim öğeleriniz üzerinden yineliyorsanız, aşağıdakilerin
olup olmadığını bilmeniz gerekir sınırların dışına çıktığında.
Ve biz dışarıdan konuştuk ve bunun neden önemli olduğu.
İşte bir örnek.
printf işlevi olduğunda çağrıldığında, her zaman argüman olarak
bir veya daha fazla değer sağlarsınız.
İlk değer şudur çift tırnak içinde dize.
Kalan değerler herhangi bir görüntülenecek değişkenler.
Bu aslında bir işlevdir muhtemelen konuşmayacağımız değişken
sayıda argüman alır. Bu başlangıç sınıfı olduğu için, bu daha çok
ileri düzey bir kavram.
Ancak printf işlevi bir veri aktarmak için iyi
bir örnek çünkü veri aktarıyorsunuz birden fazla veri kümesi,
tırnak içindeki dize veya görüntülemek istediğiniz değişkenler.
İşte bu yüzden aşağıdakileri yapmak çok önemlidir bir fonksiyona veri aktarabilmelidir.
Kullanışlılığı büyük ölçüde artırır ve bir fonksiyonun esnekliği.
Eğer fonksiyonlar veri kabul etme kabiliyetine sahip olsalardı, bu kadar
faydalı olmazlardı.
Verdiğim örnekte gösteren bir fonksiyona
sahip olduğumuz son derste Çıktı, pek bir işe yaramadı.
Çok durağandı.
Aynı şeyi yaptı. her çağırdığınızda.
Peki ya bir fonksiyonunuz olsaydı veriyi aldıktan sonra neyin görüntüleneceğini
kontrol edebilirsiniz.
Yani tıpkı printf fonksiyonu gibi.
Eğer printf fonksiyonu parametreleri olsaydı, ona ne görüntüleyeceğini
söyleyemezdiniz.
Eğer verileri kabul etmediyseniz hey, bu değişkeni görüntüle
veya bu dizeyi görüntüle diyemez.
Pek kullanışlı olmazdı.
Yani geçebilmek istiyorsun verileri bir fonksiyona dönüştürerek
çok daha kullanışlı ve esnek hale getirir.
Ve bunu göreceksiniz.
Yani çarpma işlemi yaparsak fonksiyonu ile çarpmak istemezsiniz.
her seferinde iki sayı.
Parametreleri ve verileri alırsınız iki sayı için ona aktarılacaktır.
Böylece farklı hesaplamalar yapabilirsiniz kendisine iletilen verileri temel alır.
Anlamak çok ama çok önemli veri geçişi ve neden yararlı olduğu.
Eklemek de iyi bir fikirdir yorumlarını kendi işlev tanımlarınızın
her birinin önüne ekleyin.
Ne olduğunu açıklamaya yardımcı olur işlevinin ne yapacağı ve argümanların
nasıl kullanılacağı.
Genellikle bunu görürsünüz.
Bunu örneklerimde göreceksiniz.
Fonksiyon bildirimine sahipsiniz Dosyanın en üstünde, fonksiyon
tanımına sahipsiniz.
Fonksiyon tanımı şunları içerir fonksiyon başlığı.
Fonksiyonun hemen üstünde başlığında, genellikle
çok satırlı yorumlar vardır.
Yani eğik çizgi, yıldız işareti var.
Ve sen orada işlevini, işlevin amacını ve ardından herhangi
bir veriyi açıklayın fonksiyona aktarılan.
Bu, yine, bakım içindir ve hataları çok daha hızlı bulup
düzeltebileceksiniz.
Genellikle, bir size bir şey söyleyecek fonksiyon
için iyi bir isim.
Ancak ek yorumlarla birlikte, size daha fazlasını söyleyecektir.
İşte bir fonksiyon olan bir örnek iki sayıyı çarpan, kendisine aktarılan
verileri alan.
İki sayı çarpımımız var.
Bunun bir fonksiyon olduğunu biliyoruz çünkü esasen parametrelere sahiptir.
Parantezler var.
Bu da bir şekilde parantezleri gördüğünüzde işlevler.
Demek istediğim, aynı zamanda çünkü bir dönüş türü vardır.
Birden fazla şey var bize bunun bir fonksiyon olduğunu söyle.
Ama asıl önemli olan parantezler ve sonra da parantezleri görüyorsunuz,
küme parantezleri bloğun başlangıcı ve bitişi.
Bu iki çarpı sayıların işlevi olsa da.
Fonksiyon parametrelerinin parantezler arasında tanımlanır ve ardından virgüllerle
ayrılır.
Burada iki parametremiz var.
Adında bir parametremiz var x ve y adlı bir parametre.
Her bir parametre için gelen veri türünü tanımlamanız
gerekir.
Yani burada iki entimiz var.
Bu, aşağıdakileri yapmanın standart yoludur veri aktarımı ve bunun nasıl yapılacağı.
Parantezler arasındaki veriler yazın ve ardından değişken için bir ad verin.
Değişkenin adı çünkü c'de bir değişkenin adı için geçerli olan herhangi
bir şey, şunları yapabilirsiniz Buna x y z ne derseniz deyin.
Sadece başlatamazsın. bir dolar işareti sembolü ile.
Ve sonra bunları virgülle ayırırsınız, Parantez içindeki parametreler
bu geleneğe alışkındır.
Parametreleriniz yoksa, veri de yok demektir. fonksiyona aktarılır,
bu fonksiyonlar arasında ne görürsünüz parantezler geçersizdir, aksi takdirde parantezler arasında
hiçbir şey göremezsiniz.
Bu fonksiyonun tüm yapacağı kendisine iletilen iki
değişken olan verileri alacaktır şimdi x ve y olarak adlandırıldı ve bunları birlikte çarpacak
ve saklayacak sonuç adlı bir değişkende veya bu durumda yanlış yazmışım
gibi görünüyor t.
Ve sonra ne yapar veri yazdırmasıdır.
Verileri yazdırır çarpılır.
Ama yine de, esnekliğe bakın ve veri aldığı için işlevin
kullanışlılığı.
Farklı görüntüleyebilir veriyi ona ilettiğiniz şeye göre ayarlar.
Fonksiyonu çağırdığımızda Buradaki ana rutinde, iki sayıyı çarp diyoruz
ve argümanları aktarıyoruz.
10 ve 20 değerlerini giriyoruz.
Değişken içinde geçebiliriz burada da isimler var.
Ama bu örnekte, biz Sadece 10 ve 20 diyorum.
Bu, şu fonksiyonu çağıracak iki sayıyı
çarpacak ve 10 verisini ikincisi için ilk parametre 20.
Yani x 10'a eşit olacak, y 20'ye eşit olacaktır.
Yani çarpma işlemimizi yaptığımızda x çarpı y, 10 çarpı 20 olacak,
sonuç 200 ve sonra bu sonucu değişkenlerle
birlikte görüntüleyecektir x y ve z'ye aktarılanlar.
Bu yüzden görüntülenecek 10, 20 ve sonra 200.
Ayrıca şunları yapabileceğimize de dikkat edin şimdi bu işlevi yeniden kullanın.
Farklı bir yöntemle tekrar arıyoruz. veri, ana işlevdeki ikinci satırımızda
20 ve 30 veri değerleri.
Ve sonra tekrar bir 50'yi 2 ile çarpmak için üçüncü kez.
Yapabilmek için çok yararlı farklı verileri alan bir fonksiyon
oluşturmak için bunu yeniden kullanılabilir, esnek hale getirir.
Ve sözdizimini takip etmek çok kolaydır.
İçinde sadece iki değişken var virgülle ayrılmış parantezler.
Ve sonra eşit olduğunu söylemek için daha kolay, sadece bir isim boşluk
bırakırsınız ve iki veriye sahip olursunuz.
Hangi veri ile ayrılmış olursa olsun ortak yan parantezler ve ardından
noktalı virgül ile biter.
Her türlü geçebilirsiniz veri türünü bir fonksiyona dönüştürür.
Bir dizi geçirebilirsiniz.
Aynı zamanda nasıl diğer veri türlerini aktarabilirsiniz.
Burada basit örneklerimiz var, ancak Ayrıca henüz bahsetmediğimiz işaretçileri de aktarabilirsiniz.
Yapıların içinden geçebilirsiniz.
Yine, başka bir kavram konuşmadık.
Ama gerçekten öyle oluyor, verileri buraya aktardığınızda gerçekten anlamlı
ve yararlı olur.
Bu basit bir örnek.
Sözdizimine dikkat edin, şunu inceleyin ve sizin için iyi bir meydan
okuma sağlayacaktır. çok sayıda farklı işlev.
Teşekkür ederim.