Για να δεσμεύσουμε δυναμικά μνήμη θα χρειαστούμε την συνάρτηση malloc.
Για να την χρησιμοποιήσουμε το πρωτότυπο της βρίσκεται στο αρχείο :
Σύνταξη :
void ( tupos * ) malloc (size_tipou x posotita) ;
Επιστρέφει ένα δείκτη τύπου void.
Γενικά η συνάρτηση malloc χρησιμοποιείται μαζί με την συνάρτηση sizeof.
Παράδειγμα :
Ο δείκτης int* μπροστά από την συνάρτηση σημαίνει ότι θα αποθηκευτεί μνήμη για ακέραιους.
Δεν είναι απαραίτητο να το δηλώσουμε όμως!
Αν η μνήμη δεσμευτεί τότε ο δείκτης ptr θα δείχνει την αρχή της.
Αλλιώς θα ο δείκτης θα ισούται με NULL.
Το Sizeof δηλώνει το μέγεθος του τύπου δεδομένων και επιστρέφει την τιμή πόσα byte είναι ο κάθε τύπος.
Τύποι Μεταβλητών (σε byte)
Για να την χρησιμοποιήσουμε το πρωτότυπο της βρίσκεται στο αρχείο :
- stdlib.h (#include<stdlib.h>)
Σύνταξη :
void ( tupos * ) malloc (size_tipou x posotita) ;
Επιστρέφει ένα δείκτη τύπου void.
Γενικά η συνάρτηση malloc χρησιμοποιείται μαζί με την συνάρτηση sizeof.
Παράδειγμα :
int* ptr ; int n ; ptr = (int *) malloc (n * sizeof ( int ) ) ;
Ο δείκτης int* μπροστά από την συνάρτηση σημαίνει ότι θα αποθηκευτεί μνήμη για ακέραιους.
Δεν είναι απαραίτητο να το δηλώσουμε όμως!
Αν η μνήμη δεσμευτεί τότε ο δείκτης ptr θα δείχνει την αρχή της.
Αλλιώς θα ο δείκτης θα ισούται με NULL.
Το Sizeof δηλώνει το μέγεθος του τύπου δεδομένων και επιστρέφει την τιμή πόσα byte είναι ο κάθε τύπος.
Τύποι Μεταβλητών (σε byte)
- char Αποθηκεύει 1 byte μνήμης (1 οκτάδα)
- int Αποθηκεύει 4 byte μνήμης (4 οκτάδες)
- float Αποθηκεύει 4 byte μνήμης (4 οκτάδες)
- double Αποθηκεύει 8 byte μνήμης (8 οκτάδες)