sizeof
- C++ kursu
- Başlangıç
- Ders 17/116
- 5 dk
sizeof operatörü ile tür boyutlarını öğrenirsin.
sizeof
sizeof operatörü bir türün veya değişkenin bellekte kaç bayt kapladığını verir. sizeof(int) tipik olarak 4, sizeof(double) 8, sizeof(char) her zaman 1'dir.
Sözdizimi: sizeof(tür) veya sizeof(değişken). Sonuç size_t türünde bir tam sayıdır ve derleme zamanında hesaplanır.
sizeof taşınabilirlik için yararlıdır: bir türün boyutu sisteme göre değişebildiğinden, kodunu boyuta bağımlı yazmak yerine sizeof ile sorgulamak daha güvenlidir.
sizeof ile tür ve değişken
sizeof hem tür hem de değişken alır. sizeof(int) ve int x; sizeof(x); aynı sonucu verir. Değişkenin türü neyse boyutu o türün boyutudur.
Dizilerde sizeof toplam baytı verir: int arr[10]; sizeof(arr) tipik olarak 40'tır (10 × 4). Eleman sayısını bulmak için sizeof(arr) / sizeof(arr[0]) yöntemi yaygındır.
İşaretçilerde sizeof işaretçinin boyutunu verir (tipik olarak 4 veya 8 bayt), gösterdiği verinin boyutunu değil. Bu ayrıma dikkat et.
Uygulama sizeof ile boyutları yazdır
main içine üç std::cout satırı ekle: birincisi sizeof(int), ikincisi sizeof(double), üçüncüsü sizeof(char) yazsın. Her satırı std::endl ile bitir.
Başlangıç kodu
#include <iostream>
int main() {
// sizeof ile üç türün boyutunu yazdır
return 0;
}Örnek çözüm
#include <iostream>
int main() {
// sizeof ile üç türün boyutunu yazdır
std::cout << sizeof(int) << std::endl;
std::cout << sizeof(double) << std::endl;
std::cout << sizeof(char) << std::endl;
return 0;
}Beklenen çıktı
4 8 1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 sizeof sözdizimi
std::cout << ____(int);
std::cout << sizeof(int);
Açıklama: sizeof(int) int türünün bayt boyutunu verir.
2 Türleri boyutla eşleştir
| Kavram | Anlamı |
|---|---|
sizeof(char) |
1 bayt |
sizeof(int) |
4 bayt |
sizeof(double) |
8 bayt (double) |
sizeof(long long) |
8 bayt (long long) |
3 sizeof(int) tipik değeri kaç bayttır?
- 1
- 2
- 4 Doğru cevap
- 8
Açıklama: int tipik olarak 4 bayttır.