begin process at 2012 05 28 07:22:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Autre

 > 

Allocation de mémoire dynamique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Allocation de mémoire dynamique

dimanche 27 mai 2007 à 17:41:47 | Allocation de mémoire dynamique

clmercutio

Hello, je me permet d'appeller a l'aide car je deviens fou. J'ai 2 ou 3 questions.
Premierement, j'ai réalise un kakuro comme projet, pour la premiere version je travaille sur un tableau statique, ce qui était bien facile.
Maintenant, je dois travailler sur un tableau dynamique dont la taille du tableau est définie en lecture dans un fichier annexe. Lire la taille ne me pose pas de problème en soi. C'est la suite qui me pose problème, les fonctions de chargement de fichier et d'affichage du tableau sont séparées. Comment faire pour passer la taille en lue dans mon fichier en borne pour l'affichage de mon tableau. Précedent, j'ai fais un #define des mes bornes, c'est a dire x=9 et y=9 pour avoir un tableau de 9 sur 9. Ici comme je lis la taille de mon tableau au niveau du chargement de ma grille, comment repécurer la taille sur mon affichage pour qu'il change automatique les bornes. Et ou alloué la mémoire de mon tableau, dans le main() alors je dois retourner mon nombre de ligne et de colonne dans le main de la meme manière tout en continuant mon chargement de fichiers ou puis -je directement alloué ma mémoire dans ma fonction de chargement. J'ai essayé tellement de chose que je ne suis plus quoi faire. Si jamais ce n'est pas explicite ce que je raconte, merci de me contacté sur clmercutio@hotmail.com pour plus de renseignement. Merci a tous.
dimanche 27 mai 2007 à 18:30:14 | Re : Allocation de mémoire dynamique

The_Guardian

Salut,

Il faut deja enlever tes #define
maintenant, chaque fonction utilisera en parametre la taille du tableau
 ou au pire tu peux mettre une variable globale mais c'est pas genial
puis, pour allouer ton tableau, au lieu d'avoir un int tableau[X][Y];
 il faut faire comme cela:
 int ** tableau;
tableau = (int **)malloc(Y*sizeof(int *));
for (i=0; i<Y; i++) { tableau[i] = (int *)malloc(X*sizeof(int)); }
y'a d'autres manieres de faire forcement, mais celle la marche

===
dimanche 27 mai 2007 à 20:05:13 | Re : Allocation de mémoire dynamique

clmercutio

Je l'ai fais comme cela j'ai bien ma grille complete mais le problème c'est que je n'ai rien qui s'affiche dans mes cases et c'est bien ca le problèmes. Mais je suis parti sur un pointeur de pointeur comme tu le mets. Petite info, juste pour voir si je me trompe pas voici ma déclaration
ma structure :
type struct element
{
    char type;
    int val[2];
    int attrib;
}grille;
et dans mon main je utilise ma structure
int main()
    int i=0
    grille **tab;
    tab=(grille **)malloc(nbl*sizeof(grille *)); // nbl : nombre de ligne
    while(i<nbc) // nbc : nombre de colonne
    {
       tab[i]=(grille *)malloc(nbc*sizeof(grille))
    }
Est-ce que cette syntaxe est la bonne, l'allocation de mémoire comme ecrite ne se fait pas dans le main mais dans une autre fonction, est-ce que cela est correct?

dimanche 27 mai 2007 à 20:38:12 | Re : Allocation de mémoire dynamique

The_Guardian

RE

Oui ca a l'air correct sauf le i++

===


Cette discussion est classée dans : taille, dynamique, chargement, tableau, mémoire


Répondre à ce message

Sujets en rapport avec ce message

Taille de tableau ? [ par Praxe ] Bonjour à tous Je suis sur un projet vc++ v6 dans lequel je manipule des images. J'ai fait un petit algo qui permet de récupérer des coordonnées de pi tableaux dynamique (à taille variable) : petite précision [ par Amanobuo ] Salut ! J aimerai une petite précision sur les tableau dynamique, créé avec un new et un pointeur. Quant j'allou la memoire avec le pointeur : tableau tableau dynamique de structure plusieurs structure différente en C ? [ par Nico_35136 ] Bonjour a tous, Voila je débute dans l'allocation dynamique en C voici mon problème. Je possédé 5 structure de taille différentes qui vont contenir creation de plusieur tableau [ par foxwar ] Bonjour, j'aimerai cree un programme ki permet de cree plusieur tableau du different taille et les afficher g ecirt ce programme mai je c pa ce k'il Tableau statique de taille importante -> seg fault [ par vinc1008881 ] Bonjour à tous, Je rencontre un problème pour le moins bizarre concernant des tableaux statique de "grande" taille en 3D. Voilà deux codes : doub sizeof pour determiner automatiquement la taille d'un tableau [ par Chatbour ] Salut à tous et à toutes, je me remets a C++ après une longue pause, donc soyez indulgents ^^ je me demande pourquoi ce code donne un résultat faux tableau de taille variable en c++ [ par petitlapino ] Bonjour à tous, J'ai un petit soucis de débutant : comment déclarer un tableau de taille variable car j'ai récupérer des entiers à partir d'un fichier please HELP !!! [ par toutouti ] Bonsoir à tous,je suis doctorante et j'ai un gros soucis avec mon pg en C.Il se trouve que je fais des allocations mémoire dynamique afin de pouvoir l tableau a taille variable en C [ par fandestargate ] Voila, je cherhcer a programmer un tableau dont la taille serait définit par une variable qu'on pourrait choisir au debut du programme:taille=0;scanf pile dynamique [ par korin221 ] Bonjour! Voila j'ai un problème. Je voudrais mélanger ma pile dynamique de façon aléatoire. Peut on directement mélanger la pile ou alors passer la pi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales