Heim > Backend-Entwicklung > C++ > Was ist Calloc in der C-Sprache?

Was ist Calloc in der C-Sprache?

王林
Freigeben: 2023-09-10 19:45:02
nach vorne
1939 Leute haben es durchsucht

Speicherzuweisungsfunktion der C-Bibliothek void *calloc(size_t nitems, size_t size) reserviert den angeforderten Speicher und gibt einen Zeiger darauf zurück.

Der Unterschied zwischen malloc und calloc besteht darin, dass malloc den Speicher nicht auf Null setzt, während calloc den zugewiesenen Speicher auf Null setzt.

Speicherzuweisungsfunktion

Speicher kann auf zwei Arten zugewiesen werden, wie unten beschrieben:

Nachdem der Speicher zur Kompilierungszeit zugewiesen wurde, kann er während der Ausführung nicht geändert werden. Es kann zu Problemen mit unzureichendem oder verschwendetem Speicher kommen.

Die Lösung besteht darin, Speicher dynamisch zu erstellen, dh Speicher entsprechend den Benutzeranforderungen während der Programmausführung zu erstellen.

Die Standardbibliotheksfunktionen für die dynamische Speicherverwaltung lauten wie folgt: -

  • malloc ( )
  • calloc ( )
  • realloc ( )
  • free ( )

Calloc ( )-Funktion

  • Diese Funktion ist Wird verwendet, um zur Laufzeit zusammenhängende Speicherblöcke zuzuweisen.

  • Dies ist speziell für Arrays konzipiert.

  • Es gibt einen Void-Zeiger zurück, der auf die Basisadresse des zugewiesenen Speichers zeigt. Die Syntax der Funktion

calloc() lautet wie folgt:

void *calloc ( numbers of elements, size in bytes)
Nach dem Login kopieren

Beispiel

Das folgende Beispiel zeigt die Verwendung der Funktion calloc().

int *ptr;
ptr = (int * ) calloc (500,2);
Nach dem Login kopieren

Hier werden nacheinander 500 Speicherblöcke mit einer Größe von 2 Bytes zugewiesen. Insgesamt zugewiesener Speicher = 1000 Bytes.

Was ist Calloc in der C-Sprache?< /p>

int *ptr;
ptr = (int * ) calloc (n, sizeof (int));
Nach dem Login kopieren

Beispielprogramm

Nachstehend finden Sie ein C-Programm, das die dynamische Speicherzuweisungsfunktion Calloc verwendet, um die Summe gerader und ungerader Zahlen in einer Menge von Elementen zu berechnen.

Online-Demonstration

#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);
}
Nach dem Login kopieren

Ausgabe

Wenn das obige Programm ausgeführt wird, werden die folgenden Ergebnisse erzeugt:

Enter the number of elements : 4
The elements are :
12
56
23
10
The sum of even numbers is : 78
The sum of odd numbers is : 23
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist Calloc in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage