Déclaration dynamique en C

Fermé
dudy - 11 févr. 2003 à 18:34
 marvinrouge - 12 févr. 2003 à 10:17
est il possible de déclarer dynamiquement des variables en C ????

1 réponse

pizzabiere Messages postés 28 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 14 février 2003
12 févr. 2003 à 07:40
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
0
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
0