Apakah Calloc dalam bahasa C?

王林
Lepaskan: 2023-09-10 19:45:02
ke hadapan
1788 orang telah melayarinya

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.

Fungsi peruntukan memori

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: -

    malloc ( )
  • calloc ( )#🎜🎜 #
  • realloc ( )
  • percuma ( )
  • Calloc ( ) fungsi

#🎜🎜🎜##🎜🎜🎜##🎜🎜 # Fungsi ini digunakan untuk memperuntukkan blok memori bersebelahan semasa masa jalan.

  • 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)
    Salin selepas log masuk
  • Contoh
#🎜 Contoh berikut🎜 penggunaan fungsi calloc().

int *ptr;
ptr = (int * ) calloc (500,2);
Salin selepas log masuk

Di sini, 500 blok memori bersaiz 2 bait akan diperuntukkan berturut-turut. Jumlah memori yang diperuntukkan = 1000 bait.

int *ptr;
ptr = (int * ) calloc (n, sizeof (int));
Salin selepas log masuk

Contoh program

Berikut ialah pengiraan nombor genap dan ganjil dalam set elemen menggunakan memori dinamik fungsi peruntukan Program Calloc C untuk jumlah . Apakah Calloc dalam bahasa C?< /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);
}
Salin selepas log masuk
Output

Apabila program di atas dilaksanakan, keputusan berikut akan dihasilkan -#🎜reee#🎜🎜🎜 #

Atas ialah kandungan terperinci Apakah Calloc dalam bahasa C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan