CodeBlanks Logo Icon CodeBlanks

Çok boyutlu dizi işaretçi

  • C kursu
  • Başlangıç
  • Ders 81/116
  • 5 dk

Çok boyutlu diziyi işaretçi olarak geçmeyi öğrenirsin.

Çok boyutlu dizi

C'de iki boyutlu dizi, dizilerin dizisidir. int m[2][3] iki satır ve üç sütunlu bir tablodur. Bellekte satırlar yan yana durur.

int m[2][3] = {{1, 2, 3},
               {4, 5, 6}};
printf("%d", m[1][2]);  /* 6 */

İlk indis satırı, ikinci indis sütunu seçer. m[1][2] ikinci satırın üçüncü sütunudur.

İç içe döngü ile gezme

İki boyutlu bir diziyi gezmek için iç içe iki for döngüsü kullanılır. Dış döngü satırları, iç döngü sütunları gezer.

int m[2][3] = {{1, 2, 3}, {4, 5, 6}};
for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d ", m[i][j]);
    }
    printf("\n");
}

Bu kalıp her satırı bir çıktı satırına yazar. Satır sonunda yeni satır karakteri eklenir.

Uygulama İki boyutlu diziyi yazdır

int m[2][3] = {{1, 2, 3}, {4, 5, 6}}; tanımla. Bir for döngüsü ile her satırı printf("%d %d %d\n", m[i][0], m[i][1], m[i][2]); biçiminde yazdır. Döngü i < 2 koşuluyla çalışsın. Çıktı 1 2 3 ve 4 5 6 olmalı.

Başlangıç kodu

main.c
#include <stdio.h>

int main(void) {
    int m[2][3] = {{1, 2, 3}, {4, 5, 6}};
    /* for ile her satırı üç sayı halinde yazdır */
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    int m[2][3] = {{1, 2, 3}, {4, 5, 6}};
    for (int i = 0; i < 2; i++) {
        printf("%d %d %d\n", m[i][0], m[i][1], m[i][2]);
    }
    return 0;
}

Beklenen çıktı

1 2 3
4 5 6

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 İkinci satır üçüncü sütun

Soru
int m[2][3] = {{1,2,3},{4,5,6}};
printf("%d", m[____][2]);  /* 6 yazar */
Cevap
int m[2][3] = {{1,2,3},{4,5,6}};
printf("%d", m[1][2]);  /* 6 yazar */

Açıklama: m[1][2] ikinci satırın üçüncü sütunudur (6).

2 int m[2][3]; m[1][1] hangisidir?

  • Birinci satırın birinci elemanı
  • İkinci satırın ikinci elemanı Doğru cevap
  • Üçüncü satırın ikinci elemanı
  • İkinci satırın birinci elemanı

Açıklama: m[1][1] ikinci satırın (indis 1) ikinci sütunudur (indis 1).

3 İndisleri eşleştir

Kavram Anlamı
m[0][0] birinci satır birinci sütun
m[1][2] ikinci satır üçüncü sütun
m[i][j] i. satır j. sütun
int m[2][3] iki boyutlu dizi

Başlangıç bölümündeki tüm dersler