C ++ calloc () - C ++ Standardbibliotek

Calloc () -funktionen i C ++ tildeler en hukommelsesblok til en række objekter og initialiserer alle dens bits til nul.

Funktionen calloc () returnerer en markør til den første byte i den tildelte hukommelsesblok, hvis tildelingen lykkes.

Hvis størrelsen er nul, afhænger den returnerede værdi af implementeringen af ​​biblioteket. Det kan eller ikke være en nul pointer.

calloc () prototype

 ugyldig * calloc (størrelse_t num, størrelse_t størrelse);

Funktionen er defineret i header-fil.

calloc () Parametre

  • num: En usigneret integralværdi, der repræsenterer antallet af elementer.
  • størrelse: En usigneret integreret værdi, der repræsenterer hukommelsesblokken i byte.

calloc () Returværdi

Funktionen calloc () returnerer:

  • en markør til starten af ​​den hukommelsesblok, der er tildelt af funktionen.
  • null pointer, hvis tildelingen mislykkes.

Eksempel 1: Hvordan fungerer calloc () -funktionen?

 #include #include using namespace std; int main() ( int *ptr; ptr = (int *)calloc(5, sizeof(int)); if (!ptr) ( cout << "Memory Allocation Failed"; exit(1); ) cout << "Initializing values… " << endl << endl; for (int i = 0; i < 5; i++) ( ptr(i) = i * 2 + 1; ) cout << "Initialized values" << endl; for (int i = 0; i < 5; i++) ( /* ptr(i) and *(ptr+i) can be used interchangeably */ cout << *(ptr + i) << endl; ) free(ptr); return 0; ) 

Når du kører programmet, vil output være:

 Initialisering af værdier … Initialiserede værdier 1 3 5 7 9 

Eksempel 2: calloc () -funktion med størrelse nul

 #include #include using namespace std; int main() ( int *ptr = (int *)calloc(0, 0); if (ptr == NULL) ( cout << "Null pointer"; ) else ( cout << "Address = " << ptr << endl; ) free(ptr); return 0; )

Når du kører programmet, vil output være:

 Adresse = 0x371530

Interessante artikler...