C fungsi peruntukan memori perpustakaan tidak sah *calloc(size_t nitems, size_t size) memperuntukkan memori yang diminta dan mengembalikan penunjuk kepadanya.
Perbezaan antara malloc dan calloc ialah malloc tidak menetapkan memori kepada sifar, manakala calloc menetapkan memori yang diperuntukkan kepada sifar.
Memori boleh diperuntukkan dalam dua cara seperti yang diterangkan di bawah -
#🎜 Selepas memori diperuntukkan semasa penyusunan, ia tidak boleh diubah semasa pelaksanaan. Akan ada masalah ingatan yang tidak mencukupi atau terbuang. Penyelesaian adalah untuk mencipta memori secara dinamik, iaitu mencipta memori mengikut keperluan pengguna semasa pelaksanaan program. Fungsi perpustakaan standard untuk pengurusan memori dinamik adalah seperti berikut: -Ini direka khas untuk tatasusunan.
Ia mengembalikan penunjuk kosong yang menunjuk ke alamat asas memori yang diperuntukkan.
Sintaks fungsi calloc() adalah seperti berikut -
void *calloc ( numbers of elements, size in bytes)
int *ptr; ptr = (int * ) calloc (500,2);
int *ptr; ptr = (int * ) calloc (n, sizeof (int));
Contoh program
Berikut ialah pengiraan nombor genap dan ganjil dalam set elemen menggunakan memori dinamik fungsi peruntukan Program Calloc C untuk jumlah . < /p> Demonstrasi Dalam Talian
#include<stdio.h> #include<stdlib.h> void main(){ //Declaring variables, pointers// int i,n; int *p; int even=0,odd=0; //Declaring base address p using Calloc// p = (int * ) calloc (n, sizeof (int)); //Reading number of elements// printf("Enter the number of elements : "); scanf("%d",&n); /*Printing O/p - We have to use if statement because we have to check if memory has been successfully allocated/reserved or not*/ if (p==NULL){ printf("Memory not available"); exit(0); } //Storing elements into location using for loop// printf("The elements are : </p><p>"); for(i=0;i<n;i++){ scanf("%d",p+i); } for(i=0;i<n;i++){ if(*(p+i)%2==0){ even=even+*(p+i); } else { odd=odd+*(p+i); } } printf("The sum of even numbers is : %d</p><p>",even); printf("The sum of odd numbers is : %d</p><p>",odd); }
Atas ialah kandungan terperinci Apakah Calloc dalam bahasa C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!