C ++ malloc () - biblioteka standardowa C ++

Funkcja malloc () w C ++ przydziela blok niezainicjowanej pamięci i zwraca void wskaźnik do pierwszego bajtu przydzielonego bloku pamięci, jeśli alokacja się powiedzie.

Funkcja malloc () w C ++ przydziela blok niezainicjowanej pamięci i zwraca void wskaźnik do pierwszego bajtu przydzielonego bloku pamięci, jeśli alokacja się powiedzie.

Jeśli rozmiar wynosi zero, zwracana wartość zależy od implementacji biblioteki. Może to być wskaźnik zerowy lub nie.

malloc () prototyp

 void * malloc (rozmiar_t rozmiar);

Ta funkcja jest zdefiniowana w pliku nagłówkowym.

malloc () Parametry

  • rozmiar: całkowita wartość bez znaku, która reprezentuje blok pamięci w bajtach.

malloc () Zwraca wartość

Funkcja malloc () zwraca:

  • wskaźnik do niezainicjowanego bloku pamięci przydzielonego przez funkcję.
  • pusty wskaźnik, jeśli alokacja nie powiedzie się.

Przykład 1: Jak działa funkcja 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; )

Po uruchomieniu programu wynik będzie następujący:

 Inicjalizacja wartości… Zainicjalizowane wartości 1 3 5 7 9

Przykład 2: funkcja malloc () o rozmiarze zero

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

Po uruchomieniu programu wynik będzie następujący:

 Adres = 0x371530

Interesujące artykuły...