Aide Linux - Liste de diffusion Ze-Linux
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [c] une petite question pour ceux qui maitrisent le c
----- Original Message -----
From: "Madko" <madko@ze-linux.org>
To: <aide-linux@lists.over-link.net>
Sent: Tuesday, September 02, 2003 2:06 PM
Subject: Re: [c] une petite question pour ceux qui maitrisent le c
> Nicolas Quirin wrote:
> > ----- Original Message -----
> > From: "Madko" <madko@ze-linux.org>
> > To: <aide-linux@lists.over-link.net>
> > Sent: Tuesday, September 02, 2003 9:21 AM
> > Subject: Re: [c] une petite question pour ceux qui maitrisent le c
> >
> >
> >> Nicolas Quirin wrote:
> >>> ----- Original Message -----
> >>> From: "Christophe Desforges" <christophe.desforges@libertysurf.fr>
> >>> To: <aide-linux@lists.over-link.net>
> >>> Sent: Monday, September 01, 2003 10:01 PM
> >>> Subject: Re: [c] une petite question pour ceux qui maitrisent le c
> >>>
> >>>
> >>> Le Mon, 1 Sep 2003 14:47:00 +0200
> >>> "Thierry FOURNIER" <poubelle@prosernat.com> a écrit:
> >>>
> >>>> oui, mais ce qui m'as mis la puce a l'oreille, c'est les tableau
> >>>> dynamiques ...
> >>>> si c'est dynamique ca doit etre rellement executer et non executé
> >>>> avant la compilation
> >>>>
> >>>
> >>> Quoi !!! des tableaux dynamiques en C !!! On m'aurait
> >>> menti ?
> >>
> >> c'est à dire? avec malloc et realloc ya moyen de faire des tableaux
> >> dynamiques, quand on ne connait pas leur taille a l'avance.
> >> enfin bon ceci j'ai pas la question d'origine de ce thread alors je
> >> suis peut etre a coté de la plaque
> >
> > Oui je suis d'accord! Avec realloc tu peu augmenter la taille de ton
> > tableau tout en conservant les données actuelles du tableau mais à
> > mon sens celà ne fait pas d'un tableau un tableau dynamique puisque
> > tu dois t'occuper toi-même d'allouer l'espace mémoire supplémentaire
> > dont tu as besoin. Les vecteurs apportent une solution à ce problème
> > puisque leur taille augmente automatiquement avec l'ajout d'un nouvel
> > objet. Il m'a semblé avoir déjà lu que les vecteurs étaient des
> > tableaux dynamiques d'objets...
> >
>
> oui sauf que les vecteurs c'est en c++ uniquement
> on parle de C non? mais au lieu d'appeler la methode pour pusher qq chose
> dans un vector, appeler une fonction avec un realloc ya vraiment une
> difference?
encore une fois d'accord avec toi, à mon avis utiliser realloc est même plus
performant au niveau mémoire
que d'utiliser des vectors (sans parler d'une nombre d'instruction
assembleur), puisque tu sais ce que tu fais au niveau de la mémoire,
alors qu'avec les vectors c'est leur implémentation qui s'occupera de la
mémoire...(que se passe t'il alors exactement?)
J'ai parlé des vectors pour confirmer qu'en C il n'y a pas de tableau
dynamique.
>
> >>
> >>>
> >>> C'est vrai il n'y a pas de tableau dynamique en C. Et l'opérateur
> >>> sizeof n'est pas une fonction (quelle horreur, mea culpa ;0)), il
> >>> faudrait comme dit utiliser l'option -S pour voir le code assembleur
> >>> produit par le compilateur. La fonction sizeof est en effet traduite
> >>> par une ou plusieurs opérations mémoire assembleur, mais celà dépend
> >>> du jeu d'instructions de ton processeur (INTEL, SPARC),
> >>> indirectement de la plate-forme sur laquelle tu compile. A toi de
> >>> voir le résultat produit par le compilateur avec l'option -S. Mais
> >>> rien n'est exécuté avant la compilation dans un programme, sinon, a
> >>> quoi servirait t'il notre compilateur?
> >>
> >>
> >> ----------------------------------
> >> Informations, désabonnement, règles, obligations sur la liste
> >> Aide-Linux : http://lists.ze-linux.org/howto_ml.html
> >>
> >
> >
> > ----------------------------------
> > Informations, désabonnement, règles, obligations sur la liste
> > Aide-Linux : http://lists.ze-linux.org/howto_ml.html
>
>
> ----------------------------------
> Informations, désabonnement, règles, obligations sur la liste Aide-Linux :
> http://lists.ze-linux.org/howto_ml.html
----------------------------------
Informations, désabonnement, règles, obligations sur la liste Aide-Linux :
http://lists.ze-linux.org/howto_ml.html
Aide Linux - Liste de diffusion Ze-Linux