Dynamic 2D Array with Double Pointer

Kategori: C , 26 Haziran 2019 , JanFranco


Daha önce int array[3][4] şeklinde 2D array oluşturmayı görmüştük. Bu sefer bunu dynamic bir şekilde malloc ile yapacağız:

int main(){

    char **p;
    int i;
    p = malloc(sizeof(char*) * 10);
    for(i = 0; i < 10; i++) {
        p[i] = malloc(30);
    }

    return 0;
}
Burada p adında bir double pointer tanımladık. malloc ile 10 adet char* büyüklüğünde alan ayırdık. Yani 10 adet pointerdan oluşan bir array tanımladık. Daha sonra her bir pointer'ın, malloc ile ayırılmış 30 byte'lık alanı göstermesini sağladık. Burada bunu for döngüsü ile yaptık. Ancak her alan 30 byte olmak zorunda değil. Her bir pointer için farklı alan oluşturabilirdik.


Sonraki Yazı: Pointers to Functions
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın