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