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

Data Recovery PRO DATA DOCTOR

Home | Order Online | Downloads | Contact Us | Software Knowledgebase

it | es | pt | fr | de | jp | kr | cn | ru | nl | gr


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

Είναι δυνατό πολλές φορές ενώ προγραμματίζετε ότι θέλετε να αναδιανείμετε τη μνήμη. Αυτό γίνεται με τη λειτουργία 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


Sample Chapters from book DATA RECOVERY WITH AND WITHOUT PROGRAMMING by Author Tarun Tyagi
Data Recovery with & without Programming


Publishers of the Book
Number of Pages
ISBN
Price of the Book


BPB Publications, New Delhi, India
540
81-7656-922-4
$69.00 (Including Shipping Charges, Cost of Book and Other expenses, Free Source Code CD included with the Book)





Buy Data recovery Book

Previous page

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

 
 

page 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37

 
 

page 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54

 
 

page 55 | 56 | 57 | 58 | 59 | 60

Next page

© Copyright 2002-2005 DataDoctor.Biz

Home | Contact us | Downloads | Services | Resources | Terms and conditions | Site map

Website Data Recovery | recuperación de Datos | Récupération de données | Datenrettung | Recupero dati | データ復旧 | 데이터 복구 | 数据恢复 | Восстановление данных | De terugwinning van gegevens | Ανάκτηση δεδομένων
Sitemap Site map1 2 3 4 | Spanish1 2 3 | French1 2 3 | German1 2 3 | Italian1 2 3 | Portuguese1 2 3 | Japanese1 2 3 | Korean1 2 3 | Chinese1 2 3 | Russian1 2 3 | Dutch1 2 3 | Greek1 2 3
Data Recovery Book English | Spanish | French | German | Italian | Portuguese | Japanese | Korean | Chinese | Russian | Dutch | Greek