Langage C (malloc et free)

Résolu/Fermé
simyamsmasters Messages postés 45 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 - 11 mars 2009 à 00:18
simyamsmasters Messages postés 45 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 - 11 mars 2009 à 21:02
Bonjour,

J aimerais savoir comment est ce qu on utilise les allocations dynamiques (malloc) sur des tableaux a deux dimensions . merci de bien vouloir m aider.
A voir également:

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
11 mars 2009 à 00:36
Salut,

const int lig=5;
const int col=5;

//initialisation
int **tab=malloc(lig*sizeof *tab);
for(int i=0;i<lig;i++)
    tab[i]=malloc(col*sizeof **tab);

//libération des zones allouées
for(int i=0;i<lig;i++)
    free(tab[i]),tab[i]=NULL;
free(tab),tab=NULL;


Par ailleurs, n'oublie pas de vérifier que malloc ne renvoie pas NULL.

Cdlt
3
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
11 mars 2009 à 01:20
Salut,
Tout d'abort, pour comprendre comment fonctionne malloc :
https://rperrot.developpez.com/articles/c/allocationC/

Ensuite, si t'as encore des questions sur mon code, n'hésite pas.
3
simyamsmasters Messages postés 45 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 3
11 mars 2009 à 00:54
S il te plait excuse moi de te deranger une fois de plus mais c est sans aucune modestie que je dirais que je ne comprends rien a ton code. Je t'emprie explique moi comment il fonctionnne. Merci bien
2
simyamsmasters Messages postés 45 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 3
11 mars 2009 à 21:02
Merci beaucoup
j ai bien appris grace a ton. Bye

0