Déclaration dynamique en C

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

1 réponse

pizzabiere Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
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
marvinrouge
 
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