Ç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
#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
#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
int m[2][3] = {{1,2,3},{4,5,6}};
printf("%d", m[____][2]); /* 6 yazar */
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 |