# 1.16 Diziler

C++'da diziler, aynı türdeki birden fazla veriyi depolamak için kullanılan bir veri yapısıdır. Dizi, sabit bir boyuta sahip olup, bu boyut dizi tanımlanırken belirtilir. Diziler, indeksleme kullanılarak erişilen elemanlar içerir.

**1. Dizi Tanımlama**

Dizi tanımlarken, dizi türü, adı ve boyutu belirtilmelidir.

```cpp
#include <iostream>
using namespace std;

int main() {
    int numbers[5]; // 5 elemanlı bir tamsayı dizisi
    return 0;
}
```

**2. Dizi ve Döngü (Arrays and Loop)**

Dizi elemanlarına erişmek için döngüler kullanılır. Genellikle `for` döngüsü, dizinin her bir elemanını ziyaret etmek için kullanılır.

**Örnek: Dizi Elemanlarına Erişim**

```cpp
#include <iostream>
using namespace std;

int main() {
    int numbers[5] = {1, 2, 3, 4, 5};

    for (int i = 0; i < 5; i++) {
        cout << "Sayi: " << numbers[i] << endl; // Dizi elemanlarını yazdır
    }
    return 0;
}
```

**3. Dizi Boyutunu Atlamadan Tanımlama (Omit Array Size)**

Dizinin boyutunu belirtmek zorunda değilsiniz. Dizi elemanlarını atadığınızda, derleyici dizinin boyutunu otomatik olarak belirler.

**Örnek: Dizi Boyutunu Atlamadan Tanımlama**

```cpp
#include <iostream>
using namespace std;

int main() {
    int numbers[] = {10, 20, 30, 40, 50}; // Boyut belirtilmiyor

    for (int i = 0; i < 5; i++) {
        cout << "Sayi: " << numbers[i] << endl; // Dizi elemanlarını yazdır
    }
    return 0;
}
```

**4. Dizi Boyutunu Alma (Get Array Size)**

Dizinin boyutunu almak için `sizeof` operatörünü kullanabilirsiniz. Bu operatör, dizinin toplam boyutunu byte cinsinden döndürür. Dizi elemanlarının boyutuna bölerek, dizi eleman sayısını bulabilirsiniz.

**Örnek: Dizi Boyutunu Alma**

```cpp
#include <iostream>
using namespace std;

int main() {
    int numbers[] = {10, 20, 30, 40, 50};
    int size = sizeof(numbers) / sizeof(numbers[0]); // Dizi boyutunu hesapla

    cout << "Dizi Boyutu: " << size << endl; // Dizi boyutunu yazdır
    return 0;
}
```

**5. Çok Boyutlu Diziler (Multi-Dimensional Arrays)**

C++'da çok boyutlu diziler, iki veya daha fazla boyutta veri depolamak için kullanılır. En yaygın kullanılan çok boyutlu dizi, 2D dizilerdir.

**Örnek: 2D Dizi Tanımlama**

```cpp
#include <iostream>
using namespace std;

int main() {
    int matrix[2][3] = { {1, 2, 3}, {4, 5, 6} }; // 2 satır, 3 sütunlu dizi

    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            cout << "Eleman: " << matrix[i][j] << " "; // 2D dizi elemanlarını yazdır
        }
        cout << endl;
    }
    return 0;
}
```
