C ++ malloc () - Βασική βιβλιοθήκη C ++

Η συνάρτηση malloc () στο C ++ εκχωρεί ένα μπλοκ μη αρχικοποιημένης μνήμης και επιστρέφει ένα κενό δείκτη στο πρώτο byte του εκχωρημένου μπλοκ μνήμης εάν η κατανομή πετύχει.

Η συνάρτηση malloc () στο C ++ εκχωρεί ένα μπλοκ μη αρχικοποιημένης μνήμης και επιστρέφει ένα κενό δείκτη στο πρώτο byte του εκχωρημένου μπλοκ μνήμης εάν η κατανομή πετύχει.

Εάν το μέγεθος είναι μηδέν, η τιμή που επιστρέφεται εξαρτάται από την εφαρμογή της βιβλιοθήκης. Μπορεί ή όχι να είναι μηδενικός δείκτης.

πρωτότυπο malloc ()

 άκυρο * malloc (size_t size);

Αυτή η συνάρτηση ορίζεται στο αρχείο κεφαλίδας.

malloc () Παράμετροι

  • size: Μη υπογεγραμμένη ακέραια τιμή που αντιπροσωπεύει το μπλοκ μνήμης σε byte.

malloc () Επιστροφή τιμή

Η συνάρτηση malloc () επιστρέφει:

  • ένα δείκτη στο μη αρχικοποιημένο μπλοκ μνήμης που έχει εκχωρηθεί από τη συνάρτηση.
  • null δείκτης εάν αποτύχει η κατανομή.

Παράδειγμα 1: Πώς λειτουργεί η λειτουργία 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; )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Αρχικοποίηση τιμών… Αρχικοποιημένες τιμές 1 3 5 7 9

Παράδειγμα 2: συνάρτηση malloc () με μέγεθος μηδέν

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

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Διεύθυνση = 0x371530

ενδιαφέροντα άρθρα...