| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
    Comment faire Allocation dynamique de mémoire en C
    Dans de nombreux cas , l'utilisateur détermine à la volée si un programme va traiter un tableau de 10 éléments ou 10.000 . Parce que la taille du tableau n'est pas connu à l'avance , vous devez mettre de côté la mémoire et libérer pendant l'exécution du programme. Cette gestion de la mémoire lors de l'exécution est connue en informatique que l'allocation dynamique de la mémoire . Cet article se concentre sur les fonctions dédiées à l'allocation dynamique de la mémoire en C. Choses que vous devez
    environnement de développement intégré en C + + Compiler
    livre sur la programmation en C
    Show More Instructions
    1

    inclure le fichier de la bibliothèque avec les définitions standard de la bibliothèque. Il s'agit du fichier " stdlib.h " et il comprend , entre autres caractéristiques importantes C , toutes les fonctions qui effectuent allocation dynamique de mémoire . Pour inclure ce fichier de bibliothèque dans votre programme , insérez la ligne suivante au début de votre source /fichier d'en-tête
    Exemple: .
    # Include Page 2

    Décidez ce que vous voulez faire. Ensuite, choisissez la fonction des étapes suivantes qui correspond le mieux à l'action d'allocation de mémoire que vous souhaitez effectuer .
    3

    utilisation malloc () pour un bloc de mémoire de taille connue . " Malloc " alloue octets " de taille " et renvoie un pointeur vers le début du bloc Prototype
    : void * malloc ( size_t size ) ;
    Exemple: .
    Int i;
    caractères * buf ; printf (" Entrez longueur de la chaîne :");
    scanf ( "% d" , & i ) ;
    buf = (char *) malloc ( i +1);
    if ( NULL == buf ) exit ( 1);
    //etc 4

    calloc Employ () pour un ensemble d'éléments où chaque élément a une taille de plus d'un octet . " Calloc " alloue un bloc de mémoire pour les éléments " num" chaque élément étant octets " de taille " de longueur. Elle renvoie un pointeur vers le début du bloc Prototype :
    void * calloc ( size_t nombre , size_t taille ) ;

    Exemple: .
    Int i , n;
    int * Parr ;
    printf (" Entrez le nombre d'entiers :");
    scanf ( "% d" , & i ) ;
    n = sizeof ( int) ;
    Parr = (int *) calloc (i, n);
    if ( NULL == Parr ) exit ( 1);
    //etc 5

    Utiliser realloc () pour changer la taille d'un bloc de mémoire. " Realloc " agrandit ou réduit le bloc de mémoire d'octets " de taille " que " ptr " pointé
    Prototype :
    oid * realloc ( void * ptr , size_t taille ) ;
    Exemple: .
    Int num1 , num2 ;
    int * arr = NULL;
    ne {
    printf (" Entrez un entier positif :");
    scanf ( "% d" , & num1 ) ;
    while ( 1> num1 ) ;
    arr = (int *) calloc ( num1 , sizeof (int) ) ;
    if ( NULL == arr ) exit ( 1);
    faire
    { printf (" Entrez un autre nombre entier positif : ");
    scanf ( "% d " , & num2 ) ;
    while (1 > num2 ) ;
    arr = (int *) realloc ( arr, num2 * sizeof ( int) ) ;
    if ( NULL == arr ) exit ( 1);
    //etc 6

    parution d'un bloc de mémoire allouée aux étapes 3 à 5 en utilisant free () . "Free" libère le bloc de mémoire qui commence à l'emplacement de mémoire que «PTR» pointé Prototype :
    vide libre ( void * ptr) ;
    Exemple: .
    Int * buf ;
    buf = (int *) malloc ( 100 * sizeof ( int) ) ; free photos ( buf ) ;
    //etc

    Previous :

    next :
      articles connexes
    ·Comment utiliser le débogueur GDB par GNU 
    ·Comment passer des pointeurs de fonctions 
    ·Comment faire un bouton poussoir Invisible dans Visual …
    ·Comment calculer le nombre d' éléments dans un tablea…
    ·Comment faire un jeu RPG en C + + 
    ·C MDI Tutorial 
    ·Précautions pour les dépassements de tampons 
    ·Comment écrire dans un fichier binaire d'un code de l'…
    ·Mobile développement C # Tutorial 
    ·Comment trouver des ressources pour apprendre XCode pou…
      articles en vedette
    ·Comment se former à Microsoft VB.Net 
    ·Comment faire pour installer PHP Nuke 
    ·. Comment utiliser un fichier CLA personnalisée 
    ·Comment insérer des éléments d'une liste Voir dans u…
    ·Comment interpréter une chaîne comme un booléen en P…
    ·Comment séparer par des virgules d'une chaîne 
    ·Comment insérer du code HTML dans MySQL avec PHP 
    ·PHP Conception Tutorial Web 
    ·Comment convertir une chaîne en entiers en VB.NET 
    ·Comment faire une page de redirection PHP 
    Copyright © Connaissances Informatiques http://fr.wingwit.com