En réappropriant le realloc de mémoire fonctionner pour réapproprier, ceci est fait avec la fonction de realloc. La fonction de realloc prend deux paramètres, l'adresse de base de la mémoire que vous voulez remettre à la côte, et la place vous voulez réserver et des retours un indicateur à l'adresse de base.

Files Recovery Software
Accueil Coordonnées Soutien à la clientèle Télécharger la démo Produits  

 
 

Réappropriation de la mémoire

Il est possible beaucoup de fois tandis que vous programmez que vous voulez réapproprier la mémoire. Ceci est fait avec la fonction de realloc. La fonction de realloc prend deux paramètres, l'adresse de base de la mémoire que vous voulez remettre à la côte, et la place vous voulez réserver et des retours un indicateur à l'adresse de base.

Supposer que nous avons réservé l'espace pour un indicateur appelé les msg et nous voulons réapproprier l'espace à la place qu'elle prend déjà, plus la longueur d'une autre corde alors nous pourrions employer le suivant.

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

Le programme suivant illustre l'utilisation du malloc, realloc et la libère. L'utilisateur entre dans une série de cordes qui sont jointes ensemble. Le programme arrête des cordes de lecture quand une corde vide est entrée.

#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;
}

Le rendement du programme sera comme suit :

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
 
 
Récupération de données livre
 
Chapitre 1 Une vue d'ensemble de rétablissement de données
Chapitre 2 Introduction des disques durs
Chapitre 3 Approche logique aux disques et à l'OS
Chapitre 4 Systèmes de numération
Chapitre 5 Introduction de la programmation de C
Chapitre 6 Introduction aux fondations d'ordinateur
Chapitre 7 Commandes nécessaires de DOS
Chapitre 8 Fonctions et interruptions de Disque-BIOS manipulant avec C
Chapitre 9 Manipulation de grands disques durs
Chapitre 10 Rétablissement de données de disque souple corrompu
Chapitre 11 Fabrication des protections
Chapitre 12 MBR de lecture et de modification avec la programmation
Chapitre 13 DBR de lecture et de modification avec la programmation
Chapitre 14 Programmation pour le rétablissement " de dossier cru "
Chapitre 15 Programmation pour des essuie-glace de données
Chapitre 16 Développer plus d'utilités pour des disques
Annexe Glossaire des limites de rétablissement de données
 
 
Pro Data Doctor

Accueil

Produits

Coordonnées

Soutien à la clientèle

Télécharger la démo

Conditions générales de vente

 
Pro Data Doctor