C ++ malloc () - standardní knihovna C ++

Funkce malloc () v C ++ přiděluje blok neinicializované paměti a vrací ukazatel void na první bajt bloku přidělené paměti, pokud je přidělení úspěšné.

Funkce malloc () v C ++ přiděluje blok neinicializované paměti a vrací ukazatel void na první bajt bloku přidělené paměti, pokud je přidělení úspěšné.

Pokud je velikost nula, vrácená hodnota závisí na implementaci knihovny. Může, ale nemusí to být nulový ukazatel.

prototyp malloc ()

 void * malloc (velikost_t velikost);

Tato funkce je definována v hlavičkovém souboru.

parametry malloc ()

  • size: Nepodepsaná integrální hodnota, která představuje blok paměti v bajtech.

malloc () Návratová hodnota

Funkce malloc () vrací:

  • ukazatel na neinicializovaný blok paměti přidělený funkcí.
  • nulový ukazatel, pokud přidělení selže.

Příklad 1: Jak funguje funkce 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; )

Když spustíte program, výstup bude:

 Inicializace hodnot … Inicializace hodnot 1 3 5 7 9

Příklad 2: funkce malloc () s nulovou velikostí

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

Když spustíte program, výstup bude:

 Adresa = 0x371530

Zajímavé články...