Αναδιανέμοντας τη λειτουργία μνήμης realloc που αναδιανέμει, αυτό γίνεται με τη λειτουργία realloc. Η λειτουργία realloc παίρνει δύο παραμέτρους, η διεύθυνση βάσεων της μνήμης θέλετε να επαναταξινομήσετε, και το ποσό διαστήματος που θέλετε να διατηρήσετε και επιστροφές έναν δείκτη στη διεύθυνση βάσεων.

Files Recovery Software
Σπίτι Στοιχεία Επικοινωνίας Εξυπηρέτηση Πελατών Κατεβάστε το Demo Προϊόντα  

 
 

Αναδιανομή της μνήμης

Είναι δυνατό πολλές φορές ενώ προγραμματίζετε ότι θέλετε να αναδιανείμετε τη μνήμη. Αυτό γίνεται με τη λειτουργία realloc. Η λειτουργία realloc παίρνει δύο παραμέτρους, η διεύθυνση βάσεων της μνήμης θέλετε να επαναταξινομήσετε, και το ποσό διαστήματος που θέλετε να διατηρήσετε και επιστροφές έναν δείκτη στη διεύθυνση βάσεων.

Υποθέστε έχουμε διατηρήσει το διάστημα για έναν δείκτη αποκαλούμενο msg και θέλουμε να αναδιανείμουμε το διάστημα στο ποσό διαστήματος απορροφεί ήδη, συν το μήκος μιας άλλης σειράς έπειτα θα μπορούσαμε να χρησιμοποιήσουμε τον ακόλουθο.

msg = (char *)realloc(msg, (strlen(msg) + strlen(buffer) + 1)*sizeof(char));

Το ακόλουθο πρόγραμμα επεξηγεί τη χρήση του malloc, realloc και ελεύθερος. Ο χρήστης εισάγει μια σειρά σειρών που ενώνονται από κοινού. Το πρόγραμμα σταματά τις σειρές όταν εισάγεται μια κενή σειρά.

#include <string.h>
#include <malloc.h>

int main()
{
char buffer[80], *msg;
int firstTime=0;

do
{
printf("\nEnter a sentence: ");
gets(buffer);

if (!firstTime)
{
msg = (char *)malloc((strlen(buffer) + 1) *
sizeof(char));
strcpy(msg, buffer);
firstTime = 1;
}

else
{
msg = (char *)realloc(msg, (strlen(msg) +
strlen(buffer) + 1) * sizeof(char));

strcat(msg, buffer);
}

puts(msg);

} while(strcmp(buffer, ""));

free(msg);
return 0;
}

Η παραγωγή του προγράμματος θα είναι η ακόλουθη:

Enter a sentence: Once upon a time
Once upon a time

Enter a sentence: there was a king
Once upon a timethere was a king

Enter a sentence: the king was
Once upon a timethere was a kingthe king was

Enter a sentence:
Once upon a timethere was a kingthe king was



Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18

 
 

page 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34

 
 

page 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50

 
 

page 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60

Next page
 
 
Data Recovery Book
 
Κεφάλαιο 1 Μια επισκόπηση της αποκατάστασης στοιχείων
Κεφάλαιο 2 Εισαγωγή των σκληρών δίσκων
Κεφάλαιο 3 Λογική προσέγγιση στους δίσκους και το OS
Κεφάλαιο 4 Συστήματα αριθμού
Κεφάλαιο 5 Εισαγωγή του προγραμματισμού γ
Κεφάλαιο 6 Εισαγωγή στα βασικά υπολογιστών
Κεφάλαιο 7 Απαραίτητες εντολές DOS
Κεφάλαιο 8 Δίσκος-ζωντανό ον λειτουργεί και διακόπτει το χειρισμό με το γ
Κεφάλαιο 9 Διαχειριζόμενοι μεγάλοι σκληροί δίσκοι
Κεφάλαιο 10 Αποκατάσταση στοιχείων από την αλλοιωμένη δισκέτα
Κεφάλαιο 11 Παραγωγή των στηριγμάτων
Κεφάλαιο 12 Ανάγνωση και τροποποίηση MBR με τον προγραμματισμό
Κεφάλαιο 13 Ανάγνωση και τροποποίηση DBR με τον προγραμματισμό
Κεφάλαιο 14 Προγραμματισμός για την αποκατάσταση "ακατέργαστων αρχείων"
Κεφάλαιο 15 Προγραμματισμός για τις ψήκτρες στοιχείων
Κεφάλαιο 16 Ανάπτυξη περισσότερων χρησιμοτήτων για τους δίσκους
Προσάρτημα Γλωσσάριο όρων αποκατάστασης στοιχείων
 
 
Pro Data Doctor

Σπίτι

Προϊόντα

Στοιχεία Επικοινωνίας

Εξυπηρέτηση Πελατών

Κατεβάστε το Demo

Όροι και Προϋποθέσεις

 
Pro Data Doctor