Merhaba. Bu operatör bölümü için size başka bir meydan okuma sunmak
istiyorum.
Esas olarak sizeof operatörünün kullanımını göstermek istiyorum.
Öyleyse gereksinimleri tanımlayarak başlayalım.
Bu yarışmada, c'de desteklenen temel veri türlerinin bayt boyutlarını gösteren
bir c programı oluşturmanızı istiyorum.
Bu meydan okumanın harika olmasının nedeni, sürekli bahsettiğim ama
belki de kafanıza takılmamış olan, üzerinde çalıştığınız
sisteme bağlı olarak, ister farklı işletim
sistemi ister farklı mimari donanım açısından
olsun, çeşitli veri türleri için farklı bellek
boyutlarına sahip olabileceğinizdir.
Int 4 olabilir, int 8 olabilir.
Çiftler belki 8 ya da 16 ya da durum ne olursa olsun.
Ve bunu anlamak çok önemlidir.
Ve eğer sayıları sabit kodlamaya başlarsanız, programınızda
sorunlara neden olacaktır. Bu yüzden sizeof operatörünü kullanmak istersiniz.
Artık programınızın belirli bir sistemde çalışıp çalışmadığı konusunda endişelenmenize gerek yok, her
zaman aynı şekilde çalışacaktır.
Dolayısıyla bu zorluk sizi sizeof kullanmaya zorladığını gösterir.
İşaretçilerden bahsederken sizeof operatörünü çok daha fazla kullanacağız,
ancak bu size ellerinizi bu operatörle biraz kirletecek küçük bir meydan okuma sunacak ve
ayrıca bu operatörle ilgili bazı biçim belirleyicilerine daha aşina olmanızı sağlayacaktır.
Yani yine, çalıştırdığınız sisteme bağlı olarak, bu program için çıktı farklı olabilir.
Ancak bazı temel veri tipi boyutlarını gösteren bir program yazmanız gerekiyor.
Oldukça basit, o kadar uzun sürmez.
Ancak sizden yapmanızı istediğim şey, aşağıdaki türlerin bayt boyutunu görüntülemek için printf işlevini kullanmaktır.
Int, char, long, long long, double, long double.
Ve bu programın faydası, farklılıkları görmek için birden fazla gerçek
bilgisayarda çalıştırmak olacaktır. Ancak bu verileri yazdırdığınızda,
C99'da desteklenen yüzde zd biçimini kullanabilirsiniz, bu yüzden iyi olmalısınız.
Ancak bu biçim belirleyici, her boyutu biçimlendirmeye ve doğru şekilde yazdırmaya yardımcı olacaktır.
Bunun dışında, bu fonksiyon ya da bu program sadece sizeof operatörünü
kullanacak ve farklı veri tipleri için
boyutların bellekten nasıl değiştiğini gösterecektir.
Yine, farkları görmek için bunu birden fazla bilgisayarda test etmek önemli olacaktır, ancak
bu program o kadar uzun sürmeyecektir.
Eğer zekiyseniz, aslında değişken oluşturmanız bile gerekmez. Sadece printf deyimlerini kullanabilir
ve bunun daha çok sizeof operatörü hakkındaki bilginiz için olduğunu görebilirsiniz.
Bu zorluklara ek olarak, farklı türleri dönüştürmek için operatörleri kullanma konusunda
kesinlikle daha fazla zorluk yapın. Her türlü dönüşüm olabilir.
Fahrenheit'tan Celsius'a bahsettim, ancak herhangi bir veri setini dönüştürmek
için dönüşümler bulabilir veya matematik
kitabınıza girip farklı denklemler arayabilir ve bunun için programlar yazmayı deneyebilirsiniz,
bu aynı zamanda c'deki bazı farklı operatörlere ve bunların nasıl desteklendiğine,
nasıl kullanıldığına aşina olmanıza yardımcı olacaktır.
Ama bu sefer iyi şanslar. Tekrar söylüyorum, uzun sürmez.
Bir sonraki derste bunun nasıl yapılacağını gösteren hızlı bir çözüm sunacağım, ancak oldukça
basit, sadece sizeof operatörünü kullanarak. Teşekkür ederim.