Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Utilisation de realloc() en C : Syntaxe, bonnes pratiques et exemple

Qu'est-ce que realloc() ?

realloc() est une fonction de la bibliothèque standard C qui redimensionne un bloc mémoire existant. Elle l'agrandit ou le rétrécit tout en préservant son contenu. Cela rend la gestion de la mémoire dynamique plus efficace, surtout quand la taille requise change pendant l'exécution.

Syntaxe

ptr = realloc(ptr, newSize);

Ici, ptr pointe vers un bloc précédemment alloué, et newSize est la taille désirée en octets. Après l'appel, ptr pointera vers le premier octet du nouveau bloc. La fonction copie les données originales vers le nouvel emplacement et libère l'ancien bloc si la réallocation réussit.

Points clés à retenir

Exemple – Redimensionnement d'un tampon de chaîne

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
    char *buf = malloc(10);
    if (!buf) {
        perror("malloc");
        return EXIT_FAILURE;
    }
    strcpy(buf, "Programming");
    printf("%s\n", buf);
    char *tmp = realloc(buf, 20); // augmente la taille du tampon
    if (!tmp) {
        free(buf); // bloc original toujours valide
        perror("realloc");
        return EXIT_FAILURE;
    }
    buf = tmp;
    strcat(buf, " in C");
    printf("%s\n", buf);
    free(buf);
    return EXIT_SUCCESS;
}

Exemple – Allocation et redimensionnement d'un tableau d'entiers

#include <stdio.h>
#include <stdlib.h>
int main(void) {
    int *arr = malloc(10 * sizeof(int));
    if (!arr) {
        perror("malloc");
        return EXIT_FAILURE;
    }
    /* ... utilisation du tableau ... */
    int *tmp = realloc(arr, 50 * sizeof(int));
    if (!tmp) {
        free(arr);
        perror("realloc");
        return EXIT_FAILURE;
    }
    arr = tmp;
    printf("Array resized successfully\n");
    free(arr);
    return EXIT_SUCCESS;
}

Conseils pratiques

Langue C

  1. Comment le molybdène façonne l'industrie moderne : usages, avantages et dynamiques d'approvisionnement
  2. Exploiter Azure DevOps : Pratiques Prouvées pour une Livraison Accélérée
  3. Transformez votre puzzle fini en chef-d'œuvre intemporel avec la résine époxy
  4. calloc() en C : Allocation mémoire initialisée à zéro et exemple pratique
  5. Maîtriser la fonction free() en C : Guide pratique et exemple
  6. Guide essentiel : Quand et comment utiliser un extincteur en toute sécurité
  7. Maîtriser les pistolets à peinture : Guide professionnel pour une couverture uniforme et sûre
  8. Utiliser une thermistance facilement : Guide étape par étape Arduino
  9. Maîtriser les techniques de la rectifieuse d'outils : guide pratique