1 Ανοίξτε το C αρχείο προέλευσης σε έναν επεξεργαστή κειμένου , όπως το Microsoft Visual Studio Express . 2
Προσθέστε τον ακόλουθο κώδικα στο επάνω μέρος του C αρχείο προέλευσης σας, έτσι ώστε μπορείτε να αποκτήσετε πρόσβαση στις λειτουργίες της μνήμης :
# include # include Δήλωση μεταβλητών ότι θα χρησιμοποιήσετε με την προσθήκη του παρακάτω κώδικα στην κορυφή της λειτουργίας σας : char * buf , * cur_ptr , * temp_ptr ? char c ? size_t mem_size = 200 ? size_t mem_used = 0 ? Καλέστε τη λειτουργία " malloc " να διαθέσει ένα μπλοκ μνήμης που μπορείτε να χρησιμοποιήσετε για να αποθηκεύσετε τη σειρά , με την προσθήκη του κώδικα : buf = ( char * ) malloc ( ( mem_size ) * sizeof ( char ) ) ? αν ( buf == NULL) επιστροφή -1 ? Λάβετε εισόδου του χρήστη, ένα χαρακτήρα κάθε φορά , έως ότου η αλλαγή γραμμής ( '\\ n' ) χαρακτήρα, είναι ή 200 χαρακτήρες που εισάγονται , με την προσθήκη του κώδικα : cur_ptr = buf ? ενώ ( ( ! c = getchar ( ) ) = ' \\ n' ) { * cur_ptr + + = c ? mem_used + + ? αν ( mem_used == mem_size ) διάλειμμα? } Καλέστε τη λειτουργία " realloc " να ανακατανείμει το μπλοκ μνήμης , μείωση του μεγέθους του κατά 2 , με τον ακόλουθο κώδικα : εάν ( mem_used > 2 ) { mem_size - = 2 ? temp_ptr = realloc ( buf , mem_size ) ? αν ( temp_ptr == NULL) επιστροφή -1 ? buf = temp_ptr ? cur_ptr = buf + mem_used ? } Ο δείκτης " buf " σημεία στην αρχή του " string" μπλοκ μνήμης και " cur_ptr " επισημαίνει την τρέχουσα θέση , που είναι το τέλος του "string ". Καλέστε την "ελεύθερη " λειτουργία για να απελευθερώσει το μπλοκ μνήμης για τη σειρά , αλλιώς το πρόγραμμά σας , θα έχετε μια διαρροή μνήμης , με την προσθήκη του κώδικα : δωρεάν ( buf ) ? Αποθηκεύστε το αρχείο σας C , την κατάρτιση και την εκτέλεση του προγράμματος να εκτελέσει το νέο κώδικα εγχόρδων
3
Η 4
5
Η 6
Η 7
8
Η <. br >
Η
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα