C ++ malloc () - C ++ Standardbibliothek

Die Funktion malloc () in C ++ weist einen Block nicht initialisierten Speichers zu und gibt einen ungültigen Zeiger auf das erste Byte des zugewiesenen Speicherblocks zurück, wenn die Zuordnung erfolgreich ist.

Die Funktion malloc () in C ++ weist einen Block nicht initialisierten Speichers zu und gibt einen ungültigen Zeiger auf das erste Byte des zugewiesenen Speicherblocks zurück, wenn die Zuordnung erfolgreich ist.

Wenn die Größe Null ist, hängt der zurückgegebene Wert von der Implementierung der Bibliothek ab. Es kann ein Nullzeiger sein oder nicht.

malloc () Prototyp

 void * malloc (size_t size);

Diese Funktion ist in der Header-Datei definiert.

malloc () Parameter

  • Größe: Ein vorzeichenloser Integralwert, der den Speicherblock in Bytes darstellt.

malloc () Rückgabewert

Die Funktion malloc () gibt Folgendes zurück:

  • ein Zeiger auf den von der Funktion zugewiesenen nicht initialisierten Speicherblock.
  • Nullzeiger, wenn die Zuordnung fehlschlägt.

Beispiel 1: Wie funktioniert die Funktion malloc ()?

 #include #include using namespace std; int main() ( int *ptr; ptr = (int*) malloc(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; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Werte initialisieren… Initialisierte Werte 1 3 5 7 9

Beispiel 2: Funktion malloc () mit der Größe Null

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

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Adresse = 0x371530

Interessante Beiträge...