2 Boyutlu Dizilerde Pointer hatası

Yozgara

Centipat
Katılım
3 Nisan 2021
Mesajlar
73
Çözümler
1
Yer
Çanakkale
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci
Aşağıdaki kodda problem parametrelerin tür uyuşmazlığı galiba ama çözemedim. Yardım eder misiniz ?
C:
int main() {
    int B[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; // İki boyutlu
    iki_boyutlu_dizi_yaz2(&B[0],3); // <-- Problem burada
}
void iki_boyutlu_dizi_yaz2(int (*dizi)[4], int satir){
    for(int i = 0;i<satir;i++){
        for(int j = 0;j<4;j++){
            printf("%d ", *(*(dizi+i)));
        }
    }
}

Evet bir şekilde çözdüm ama nasıl olduğunu bende anlamadım. Çalışan kodda bu;
C:
int main(){
    int B[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; // İki boyutlu
    iki_boyutlu_dizi_yaz2(&B[0],3);
}
void iki_boyutlu_dizi_yaz2(int (*dizi)[4], int satir){
    for(int i = 0;i<satir;i++){
        for(int j = 0;j<4;j++){
            printf("%d ", *(*(dizi+i)+j));
        }
    }
}
 
Son düzenleme:

Geri
Yukarı