Merhaba, hoş geldiniz.
Bu gösterimde, sizeof operatörünü kullanarak belirli veri türleri için
belleğimizin ne kadar büyük olduğunu bize söyleyen hızlı ve
küçük bir programın çözümünü sunmak istiyorum.
Kod bloklarını getirelim ve
burada bir proje oluştururken çok tanıdık adımlar uygulayacağız.
Ve anlamlı bir isim bulacağız.
Bu projeye sizeofexample
adını verelim.
Yani sizeofexample.
Bu oldukça kolay olacak, gerçekten. Sadece belirli veri türlerini
görüntülemek için printout deyimlerini kullanacak.
Bu yüzden herhangi bir değişken bile oluşturmayacağım. Sadece bazı verilerin çıktısını
alacağım.
Yani burada char türündeki değişkenlerin yüzdeyi
işgal ettiğini söyleyeceğim.
Ve belirli bir veri türü
kullanacaktım. Sanırım zf idi, ama zd kullanmayı
deneyelim. Bu güzel bir biçim belirticisidir,
sanırım C99'da eklenmiştir.
Zd ve sonra tek yapmamız gereken sizeof kullanmak.
Sizeof ve get bir fonksiyon gibi görünür, ancak değildir. Ve sonra karakter için karakter deyin.
Bunu kopyalayıp yapıştıracağım
çünkü ben de benzer şeyler yapacağım.
Bir char yapmayacağım, ama ikincisinde kısa bir şey yapacağım.
Bir int ve bir long, long long, double
yapacağım ya
da bir float, float double yapalım, long
double deneyelim.
Ve sonra tek yapmamız gereken sizeof parametrelerini
ilgili türleri alacak şekilde değiştirmektir.
Bellek ve işaretçiler hakkında konuşurken bunu da kullanacağız.
Ancak bu sadece farklı veri türlerini anlamaya yardımcı olur.
Ve aslında uzayda uzun uzun sizeof geçebileceğinizi
göreceksiniz. Muhtemelen bu yüzden bir fonksiyon değildir çünkü fonksiyon parametrelerinde boşluk bırakamazsınız.
Ancak sizeof'un değişkenleri, ifadeleri ve her türlü şeyi de aldığını
unutmayın.
Ve bunu yaptığında, aslında long double olarak derleme zamanının
aksine çalışma zamanında sizeof değerini belirler.
Bunu sakla, inşa et.
Hata yok.
Görünüşe göre z formatını anlamıyor.
Çünkü int olmayabilir. Bunun yerine bunları işaretsiz için yüzde kullanım
olarak değiştirelim.
Pekala, şimdi inşa edelim.
Pekala, şimdi hiçbir uyarımız yok. Tipik olarak inşa ettiğimde, herhangi bir uyarı da almak istemezsiniz.
Derleyicideki uyarılar tam olarak
uyardıklarını söyledikleri şeydir. Yani yine de başarılı bir şekilde derleyebilirsiniz,
ancak bir uyarı genellikle bir sorun olduğunu gösterir.
Yani uyarılarınızı temizlemek istiyorsunuz. Ve bu yüzden bir biçim belirticisinin yüzde z'ye izin
verilmediğini söyleyen bir uyarı aldım. Bu yüzden değiştirdim, şimdi hiçbir uyarı almıyorum.
Uyarılarınızı mümkün olduğunca temizlemeye çalışın çünkü uyarı olmalarının nedeni sorunlara neden olabilmeleridir.
Burada unuttuğum ve şimdi fark ettiğim bir şey de, satır beslemeleri
için bet için kaçış karakterimi eklemediğim için yanlış biçimlendirilmiş olması.
Bu yüzden okumayı çok zorlaştırıyor. Yüzde u'dan sonra ters
bölü n'yi ekleyelim.
Yani şimdi char türündeki değişkenlerin bir yer kapladığını söylüyor.
Short tipindeki değişkenler 2 bayt,
int 4 bayt, long 4 bayt, long long 8 bayt, float 4 bayt,
double 8 bayt, long double 12 bayt yer kaplar.
Çok güzel. Bunu birçok farklı platformda çalıştırdığınızda bu şeylerin değiştiğini göreceksiniz.
Yani yazması kolay bir program, ancak yine bazı düzgün kavramları gösteriyor.
Yani devam edebilir, bunu indirebilirsiniz.
Herhangi bir sorun yaşarsanız, farklı platformlarda çalıştırmayı deneyin, ancak
farklı veri türü boyutlarının küçük bir gösterisini yapmak istediğim
tek şey buydu, bu yüzden bir sonraki bölüme geçelim. Teşekkür ederim.