Déclaration dynamique en C

est il possible de déclarer dynamiquement des variables en C ????

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. hi dudy

    *malloc(unsigned nombre_d_octets)
    tu obtiens un pointeur sur nombre_d_octets octets de mémoire, non initialisés, ou NULL si la demande ne peut pas être satisfaite.

    il faut convertir dans le type ad hoc :
    int *nb;

    nb = (int*) malloc(12);

    free(p) libère l'espace poité par p, seulement si p a été obtenu par un appel de la fonction malloc !

    @ +
    Pizzabiere
    1. je rajouterai meme

      en C:

      int* a = (int*)malloc(N*sizeof(int));

      id(a!=NULL)
      {
      free(a);
      a = NULL;
      }

      en C++:

      int* a = new int[N];
      id(a!=NULL)
      {
      delete [] a;
      a = NULL;
      }

      ATTENTION à ne pas mélanger comme l'a souligné pizzabiere

      malloc+free
      new+delete