C'de calloc nedir?
Calloc () C, aynı boyuta sahip birden fazla hafıza blokları tahsis etmek için kullanılan bir fonksiyondur. Bellek alanını diziler ve yapılar gibi karmaşık veri yapılarına ayıran ve belleğe bir boşluk gösterici döndüren dinamik bir bellek ayırma işlevidir. Calloc, bitişik tahsis anlamına gelir.
Malloc işlevi, tek bir bellek alanı bloğu ayırmak için kullanılırken, C'deki calloc işlevi birden çok bellek alanı bloğu ayırmak için kullanılır. C programlamada calloc tarafından tahsis edilen her blok aynı boyuttadır.
calloc () Sözdizimi:
ptr = (cast_type *) calloc (n, size);
- C'deki calloc'un yukarıdaki ifade örneği, aynı boyutta n bellek bloğunu tahsis etmek için kullanılır.
- Bellek alanı tahsis edildikten sonra, tüm baytlar sıfıra başlatılır.
- Ayrılan bellek alanının halihazırda ilk baytında olan işaretçi döndürülür.
Bellek yetersizliği gibi bellek alanı ayırmada bir hata olduğunda, aşağıdaki calloc örneğinde gösterildiği gibi bir boş gösterici döndürülür.
Calloc nasıl kullanılır
C'deki aşağıdaki calloc programı, bir aritmetik dizinin toplamını hesaplar.
#includeint main() {int i, * ptr, sum = 0;ptr = calloc(10, sizeof(int));if (ptr == NULL) {printf("Error! memory not allocated.");exit(0);}printf("Building and calculating the sequence sum of the first 10 terms \ n ");for (i = 0; i < 10; ++i) { * (ptr + i) = i;sum += * (ptr + i);}printf("Sum = %d", sum);free(ptr);return 0;}
C örneğindeki calloc'un sonucu:
Building and calculating the sequence sum of the first 10 termsSum = 45