Merhaba ve hoş geldiniz.
Bu derste şunları yapacağız değişken uzunluklu diziler hakkında konuşun.
Bu tam olarak ne anlama geliyor?
Bu yeni bir özellik sanırım C99 için eklenmişti.
Ama bu noktaya kadar, hepimiz diziler hakkında bilgi sahibi
olmak, çok boyutlu olmalarının yanı sıra birden fazla veri öğesini saklayabileceğiniz
harika bir özellik olması esasen tek bir değişkende, sabit boyutta olmalarıdır.
Bu boyutu belirledikten sonra sabit kodlanmış bir sabit kullanmanız gerekir.
Değişkeni bildirdiğinizde boyutunu
belirtir ve aynı şekilde kalır.
Değişken uzunluklu diziler biraz yanıltıcıdır.
Bu senin değişeceğin anlamına gelmez. dizinin boyutunu dinamik olarak değiştirir.
Hala aynı olacak. boyutu, ancak şimdi değişkenleri kullanabilirsiniz.
Yani değişken içindeki değişken terimi uzunluk dizisinin uzunluğunu değiştirebileceğiniz
anlamına gelmez. diziyi oluşturduktan sonra.
Bu şu anlama geliyor bu dizi için kullanılacak bir değişken ayarlayın.
yani bir VLA hala oluşturulduktan sonra aynı boyuttadır.
Değişken dizisi şunları yapmanızı sağlar Bir dizi oluştururken boyutu
ve diziyi bir değişkenle belirtin.
Yani sadece değişkenleri kullanabilirsiniz, Tüm anlamı bu.
Öyle görünüyor ki o kadar da yararlı olmaz.
Ama aslında tek sebep gerçekten eklenmişti çünkü gerçekten
var olan kütüphaneler ve diğer diller.
Böylece C99 bu yeni özelliği kullanılıyor ve bu yüzden bundan bahsetmek
istedim.
Sadece bundan bahsedeceğim. Kısaca, bunun ayrıntılı
bir kullanım örneğini sunmayacağım.
Sadece sana var olduğunu söylemek istedim. çünkü bazen bu değişken
uzunluklu diziler terimini oldukça fazla görürsünüz C hakkında bir şeyler okurken.
Ve görmeni istemem ve dizileri incelediğimizde
bunun ne anlama geldiğini söyleyin ve biz konudan bahsetmedik.
Bu yüzden esas olarak c'yi sayısal hesaplama için daha iyi bir dil
haline getirmek.
VLA hangi değişken uzunluklu dizilerdir mevcut Fortran kütüphanelerini
dönüştürmeyi çok daha kolay hale getirir c'ye sayısal hesaplama rutinleri.
İşte bu yüzden eklendi.
Yani eğer bir Fortran programcı, bunu geçiş yaparken
kullanmak isteyebilirsiniz veya kodu dönüştürüyorsanız.
Fortran'ınızı taşıyorsanız kodunu c'ye dönüştürmeye
çalışıyorsanız, bunu kullanmak isteyebilirsiniz.
Bir VLA açıklamasında.
Yani başlatma yok değişken uzunluklu dizilerden
bahsederken.
İşte size bazı geçerli boyutlar bir dizi bildirirken uygulanabilir.
Böylece iki tane değişkenler ve bir m.
Ve sonra altta görüyorsunuz float 8 ve float a9 dediğimizde, bu değişkenleri şu durumlarda
kullanabiliriz bunları dizi boyutunda bildiririz.
Ve daha önce buna izin verilmiyordu. C99 ama şimdi
öyle ve bu VLA, değişken uzunluklu dizi.
Bir değişken belirtmek için bir dizinin içinde kullanılabilir.
Çalışma zamanında boyutu değiştirmiyor.
Burada geçerli başka örnekler de var dizilerin bildirimlerine de dikkat etmek
isteyebilirsiniz.
Eğer bir dizisini 5 gibi belirli bir boyuta ayarlayın.
İfadeleri şu durumlarda kullanabilirsiniz bir dizinin boyutunu atarsınız.
Yani bir sonraki örnekte 5 çarpı 2 artı 1, bu iyi.
Burada dikkat edilmesi gereken bir diğer husus da sizeof operatörünü kullanıyoruz
ve bu da gayet iyi çünkü bir int döndürecektir.
Sizeof int ya geri dönecek Çalıştırdığınız makineye bağlı olarak
4 veya 8 ve sonra 1 eklerseniz, gayet iyi olur.
Negatif bir sayı koymak bir dizi bildiriminin
içinde, bunu yapamazsınız.
Negatif 4 diye bir şey yoktur.
Dizinin boyutu 0'dan büyük olmalıdır.
Yani sıfır da işe yaramayacaktır.
2. 5 şamandıra koymak, bunu yapamam ya da, mantıklı değil.
Nasıl yaratabilirsiniz boyutu 2 olan bir dizi. 5.
Ancak, eğer 2 koyarsanız. 5 içeride Köşeli parantezler ve onu bir int'e
dönüştürürseniz, sorun olmaz.
Yine çok fazla para harcamak istemedim. Değişken uzunluklu diziler konusunda zamanım
yok, sadece bu kavramı tanıtmak istiyorum.
Eğer bu terimi duyarsanız, Ne olduğunu biliyorsun.
Bir diziye değişken atama bunları boyut için bildirirken.
Gerçekten sadece tanıtıldı mevcut Fortran kütüphaneleri
ile uyumluluk için. Teşekkür ederim.