Bildirim
div_t div(int x, int y);
ldiv_t ldiv(long x, long y);
lldiv_t lldiv(long long x, long long y); (C99)
Açıklama
X parametre değerini y parametre değerine bölerek işlemin sonucunu ve kalanını içeren bir yapıyı (div_t/ldiv_t/lldiv_t) geri döndürür.
Parametreler
x: Bölünen değeri gösterir.
y: Bölen değeri gösterir.
Dönüş değeri
Başarı durumunda tahsis edilen belleğin başlangıç adresini geri döndürür. Bellek sorunlarını engellemek için, gerekli işlemler yapıldıktan sonra, bu işaretçi free() veya realloc() fonksiyonu ile boşaltılmalıdır.
Hata durumunda, NULL bir işaretçi geri döndürülür.
Örnek
#include <stdio.h>
#include <stdlib.h>
int main (void) {
div_t result;
int id1=65, id2=7;
result = div(id1, id2);
printf("Bölme işlemi sonucu: %d, kalan: %d", result.quot, result.rem);
return 0;
}
Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar:
Bölme işlemi sonucu: 9, kalan: 2
Yukarıdaki program, malloc() fonksiyonu ile 20 byte boyutunda bir bellek tahsis eder. Bu belleğe kopyaladığı karakter dizisini ekrana yazdıktan sonra free() fonksiyonu belleği boşaltır.