Rumah >pembangunan bahagian belakang >C++ >Apakah Calloc dalam bahasa C?

Apakah Calloc dalam bahasa C?

王林
王林ke hadapan
2023-09-10 19:45:021866semak imbas

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

int *ptr;
ptr = (int * ) calloc (500,2);

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));

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? 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);
}

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam