Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3745 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[C] Listes chainées

n°14267
Evadream -​jbd-
Posté le 14-02-2001 à 12:47:44  profilanswer
 

Reprise du message précédent :
Un grand merci, je pars en vacances avec ma disquette de sources et je vais potasser tout ca la bas ! Encore merci de m'avoir accordé de votre temps.

mood
Publicité
Posté le 14-02-2001 à 12:47:44  profilanswer
 

n°14268
wouatouwou​atou
Posté le 14-02-2001 à 12:50:10  profilanswer
 

Merci d'avoir corrigé Toxin ... Moi avoir pas vu kil mankai une star devant T (Mr.) :D


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
n°14270
Evadream -​jbd-
Posté le 14-02-2001 à 12:54:10  profilanswer
 

...
if (!tete) //je ne comprends pas à quel moment on rentre ds le if ca dire quoi !tete ? different de tete ? mais quoi ?
...  
if (!object)
...
 
En tout cas, merci.

n°14271
Toxin
Carpe ★★ Vitam
Posté le 14-02-2001 à 12:59:46  profilanswer
 

Rappel en C

  • FAUX = 0
  • VRAI != 0


Pour que !tete (non tete) soit vrai il faut que tete soit faux. Or quelle est la valeur de tete pour que tete soit faux : c'est NULL.
 
Autrement dit (!tete) <=> (tete != NULL)

 

--Message édité par Toxin--


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
n°14272
Toxin
Carpe ★★ Vitam
Posté le 14-02-2001 à 13:00:52  profilanswer
 

wouatouwouatou a écrit a écrit :

Merci d'avoir corrigé Toxin ... Moi avoir pas vu kil mankai une star devant T (Mr.) :D




 
De rien :D moi aussi je me suis fait avoir par le passé :D


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
n°14274
Evadream -​jbd-
Posté le 14-02-2001 à 13:02:58  profilanswer
 

Je te remercie. Je ne vais pas me justifier ( enfin si =) ), c'est ma premiere année de C, on a commencé il y a 3 mois. Le prof est loin d'etre mauvais, mais son cours ne me semble pas tres efficace. Je veux dire qu'il oriente la chose vers des choses qu'il aime bien. Il n'a surement pas passer assez de temps sur les bases : le rappel que tu viens de me faire je n'en ai jamais entendu parler. :)
 
Enfin, c comme ca qu'on apprend. @+ all.

n°14275
wouatouwou​atou
Posté le 14-02-2001 à 13:10:49  profilanswer
 

JE te plain... :cry:
 
Mais, c le truc utilisé surtout dans les boucles infinie du genre
 
while(1); <=> while ( 1 == 1 )
 
Je le laisse deviner ce ke donne : while(0); :D


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
n°14277
Toxin
Carpe ★★ Vitam
Posté le 14-02-2001 à 13:19:42  profilanswer
 

Tu sais qu'à part les représentations de flottant, tout est entier en C ?


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
n°16261
Evadream -​jbd-
Posté le 27-02-2001 à 23:57:37  profilanswer
 

Non je savais pas. Ca a quoi comme consequences ?

n°16286
wouatouwou​atou
Posté le 28-02-2001 à 09:38:10  profilanswer
 

bah.. tu peux traiter des chaines de caracteres par exemple comme si c t des nombres :)


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
mood
Publicité
Posté le 28-02-2001 à 09:38:10  profilanswer
 

n°16429
BifaceMcLe​OD
The HighGlandeur
Posté le 28-02-2001 à 23:17:50  profilanswer
 

Désolé de jouer les rabat-joies, mais pour des raisons de lisibilité de votre code, je me permets de vous déconseiller très fortement les tests du genre :
    if (!tete) ...
    if (!n) ...
    if (!object) ...
 
Préférez toujours :
    if (object != NULL) ...
    if (n != 0) ...
qui est mille fois plus clair à relire (au moins), et qui n'enlève absolument rien à l'efficacité du code généré par le compilateur.
 
La recommendation ci-dessus accepte une seule exception : quand l'expression que l'on teste est déjà de type booléen. Parce que justement, dans une condition, on doit trouver une expression booléenne (donc c'est inutile de comparer ce booléen avec un autre booléen pour obtenir... un booléen). Vous allez me dire, pour C, un booléen, c'est un int, mais ce n'est pas parce que C est un langage sémantiquement très pauvre qu'il faut rester à son niveau. On y gagne toujours en ajoutant de la sémantique. D'ailleurs, je vous conseille aussi de définir un type booléen si vous n'en avez aucun à votre disposition. En fait, un simple :
    typedef int BOOL;
    #define TRUE  1
    #define FALSE 0
suffit très largement, et encore une fois, cela n'enlève rien à l'efficacité du code généré par le compilateur.

n°16453
Evadream -​jbd-
Posté le 01-03-2001 à 01:20:34  profilanswer
 

Je prends note ! Et à propos des pointeurs, si par exemple toto est un pointeur sur une structure avec un champ nom.
 
La " bonne " habitude serait d'écrire (*toto).nom ou toto->suivant ?
 
Sinon, si qqun à une url donnant de bonnes habitudes de prog, ca m'interesse :))
 
@+

n°16455
BifaceMcLe​OD
The HighGlandeur
Posté le 01-03-2001 à 01:31:18  profilanswer
 

Tu veux dire pour accéder au champ ? "toto->nom" paraît moins lourd, non ? :)

n°16477
wouatouwou​atou
Posté le 01-03-2001 à 10:30:20  profilanswer
 

c simplement une kestion de lisibilité je crois... Il me semble ke les 2 ecritures sont semblable pour la machine... enfin, a confirmer... :D
Moi je prefere (*nom) simplement a cause des declaration de pointeur ki rappelle cette ecriture... "char *nom;"
Mais d'autres, prefere la fleche ...


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
liste chainees simple 
Plus de sujets relatifs à : [C] Listes chainées


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)