Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
C Programlama

BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C örnek kodlar > c_ornek00024

C örnek kodlar

2 boyutlu dizilere dinamik bellek tahsis etme

Program 5 elemanlı bir işaretçi dizisi oluşturur. Her bir işaretçi dizisine 11 byte boyutundaki belleğin başlangıç adresini atar. İşaretçi indeksleme yöntemi ile her bir işaretçiye "Bilgisayar" ifadesini kopyalar ve ekrana yazdırır. Program sona ermeden önce, free() fonksiyonunu bir döngü içinde kullanarak tahsis edilen belleği boşaltır.


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void)
{
  char *pdizi[5];
  char cdizi[] = "Bilgisayar";
  int id;

  /* Bellek tahsisi */
  for (id=0; id<5; id++) {
       pdizi[id] = malloc(strlen(cdizi)+1);
  }

  /* Dizi atama */
  for (id=0; id<5; id++) {
       strcpy(pdizi[id], cdizi);
  }
  /* Yazdırma */
  for (id=0; id<5; id++) {
       printf ("%s\n", pdizi[id]);
  }

  /* Bellek boşaltma */
  for (id=0; id<5; id++) {
       free(pdizi[id]);
  }

  return 0;
}

Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:

Bilgisayar
Bilgisayar
Bilgisayar
Bilgisayar
Bilgisayar