Dinamik olarak bağlanabilir kitaplık denemeleri, aynı zamanda ilk C projem.
make
make run
enum kedi_cinsi
{
TEKIR,
SIYAM,
DIGER
};
Kedi cinsini belirler.
typedef struct kedi
{
char* ad;
int yas;
enum kedi_cinsi cins;
} kedi;
- ad: Kedinin adını belirtir.
- yas: Yıl biçiminden kedinin yaşını belirtir.
- cins: Kedinin cinsini belirtir.
kedi* yeni_kedi (char* kedi_adi, int yas, enum kedi_cinsi cins)
{
kedi *i = malloc(sizeof(kedi));
i->ad = strdup (kedi_adi);
i->yas = yas;
i->cins = cins;
return i;
}
Bellek yığınında yeni bir kedi oluşturur ve kedinin adresini dönderir.
void kedi_bilgi (kedi *k)
{
printf ("Adı: %s\n", k->ad);
printf ("Yaşı: %d\n", k->yas);
printf ("Cinsi: %s\n", kedi_cins_bul(k));
}
Verilen kedinin kimliğini stdout
'a yazdırır.
char* kedi_cins_bul (kedi *k)
{
switch (k->cins)
{
case TEKIR:
return "tekir";
case SIYAM:
return "siyam";
default:
return "diğer";
}
}
Kedinin cinsini enum
'dan char*
'a çevirir.
void rahat_birak (kedi *k)
{
free (k->ad);
free (k);
}
Verilen kediyi bellek yığınından temizler. Bunu yapmayı unutmak bellek sızıntılarına yol açabilir.