Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

malloc() Functie in C-bibliotheek met VOORBEELD

Wat is malloc in C?

De functie malloc() staat voor geheugentoewijzing. Het is een functie die wordt gebruikt om een ​​geheugenblok dynamisch toe te wijzen. Het reserveert geheugenruimte van de opgegeven grootte en retourneert de null-aanwijzer die naar de geheugenlocatie wijst. De geretourneerde aanwijzer is meestal van het type void. Het betekent dat we de malloc-functie aan elke aanwijzer kunnen toewijzen.

Syntaxis

ptr = (cast_type *) malloc (byte_size);

Hier,

  • ptr is een pointer van cast_type.
  • De malloc-functie retourneert een pointer naar het toegewezen geheugen van byte_size.
Example: ptr = (int *) malloc (50)

Wanneer deze instructie met succes wordt uitgevoerd, wordt een geheugenruimte van 50 bytes gereserveerd. Het adres van de eerste byte gereserveerde ruimte wordt toegewezen aan de pointer ptr van het type int.

Overweeg nog een voorbeeld van malloc-implementatie:

#include <stdlib.h>
int main(){
int *ptr;
ptr = malloc(15 * sizeof(*ptr)); /* a block of 15 integers */
    if (ptr != NULL) {
      *(ptr + 5) = 480; /* assign 480 to sixth integer */
      printf("Value of the 6th integer is %d",*(ptr + 5));
    }
}

Uitgang:

Value of the 6th integer is 480

  1. Merk op dat sizeof(*ptr) werd gebruikt in plaats van sizeof(int) om de code robuuster te maken wanneer *ptr-declaratie later naar een ander gegevenstype wordt getypt.
  2. De toewijzing kan mislukken als het geheugen niet voldoende is. In dit geval wordt een NULL-aanwijzer geretourneerd. U moet dus code opnemen om te controleren op een NULL-aanwijzer.
  3. Houd er rekening mee dat het toegewezen geheugen aaneengesloten is en als een array kan worden behandeld. We kunnen pointer-rekenkunde gebruiken om toegang te krijgen tot de array-elementen in plaats van haakjes [ ]. We raden aan om + te gebruiken om naar array-elementen te verwijzen, omdat het gebruik van incrementatie ++ of +=het adres verandert dat door de aanwijzer is opgeslagen.

De Malloc-functie kan ook worden gebruikt met het karaktergegevenstype en met complexe gegevenstypen zoals structuren.


C Taal

  1. C++ Switch Case Statement met VOORBEELD
  2. C++ Dynamische toewijzing van arrays met voorbeeld
  3. C++-aanwijzers met voorbeelden
  4. Overbelasting van C++-operator met voorbeelden
  5. C++-structuur met voorbeeld
  6. Kaart in C++ Standard Template Library (STL) met afdrukvoorbeeld
  7. std::lijst in C++ met Voorbeeld
  8. C++-functies met programmavoorbeelden
  9. calloc() Functie in C-bibliotheek met programma VOORBEELD
  10. realloc() Functie in C Library:Hoe te gebruiken? Syntaxis en voorbeeld
  11. free() Functie in C-bibliotheek:Hoe te gebruiken? Leer met voorbeeld