Σε αυτό το παράδειγμα, θα μάθετε να αποθηκεύετε τις πληροφορίες που εισάγει ο χρήστης χρησιμοποιώντας δυναμική κατανομή μνήμης.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Γ:
- C Δείκτες
- Κατανομή δυναμικής μνήμης
- C δομή
Αυτό το πρόγραμμα ζητά από το χρήστη να αποθηκεύσει την τιμή noOfRecords
και εκχωρεί τη μνήμη για τις noOfRecords
μεταβλητές δομής χρησιμοποιώντας τη malloc()
συνάρτηση.
Δείξτε τη δυναμική κατανομή μνήμης για δομή
#include #include struct course ( int marks; char subject(30); ); int main() ( struct course *ptr; int i, noOfRecords; printf("Enter the number of records: "); scanf("%d", &noOfRecords); // Memory allocation for noOfRecords structures ptr = (struct course *)malloc(noOfRecords * sizeof(struct course)); for (i = 0; i subject, &(ptr + i)->marks); ) printf("Displaying Information:"); for (i = 0; i subject, (ptr + i)->marks); return 0; )
Παραγωγή
Εισαγάγετε τον αριθμό των εγγραφών: 2 Εισαγάγετε το όνομα του θέματος και τα σημάδια αντίστοιχα: Προγραμματισμός 22 Εισαγάγετε το όνομα του θέματος και τα σημάδια αντίστοιχα: Δομή 33 Εμφάνιση πληροφοριών: Προγραμματισμός 22 Δομή 33