[C] comment faire un goto lbl??

cref -  
 pounch -
comment aire un goto lbl (comme les caltoche)en langage c??

merci

8 réponses

sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Faut pas faire de goto, c'est mauvais pour la santé.


Si besoin de GOTO se fait sentir, il y a 99,99% de chances qu'il ne soit en réalité pas nécessaire (c'est juste un problème d'algo).
1
cref
 
tu fais comment alors????
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Je fais pas.

Pourquoi vouloir faire un GOTO ?
0
cref
 
pout toujour tourner dans le programme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Pour boucle, il y a while, for, etc.

Je te recommande:
http://www.commentcamarche.net/ccmdoc/index.php3?cat=93
http://www.commentcamarche.net/ccmdoc/index.php3?cat=78
0
philtrain
 
Supprimer un message sur ce sujet, c'est un abus de position dominante de ta part, d'autant que c'est un sujet ouvert
= CENSURE
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662 > philtrain
 
ouais ouais... bon.
Mais bon indiquer à un débutant comment faire des GOTO...
0
philtrain > philtrain
 
BOF,

C'est comme interdire à un enfant d'utiliser un couteau, parce qu'il pourrait se couper, ou assassiner son voisin!
Nous sommes entourés d'ustensiles et d'engins qui, mal utilisés, sont dangereux mais qui, dans des conditions normales d'utilisation, sont inoffensifs : couteaux, ciseaux, prises électriques, etc.
L'utilisation du goto n'est pas recommandée, mais cette possibilité existe (et pas seulement en C) et permet parfois de s'en sortir dans des cas complexes.

ps: (débutant != nigaud).
0
arth Messages postés 9374 Date d'inscription   Statut Contributeur Dernière intervention   1 293
 
si tu faisais de l'assembleur tu devrais faire une boucle avec une etiquette. en c tu dois utiliser la fonction while()
0
pounch
 
Bonjour,

Tout d'abord je tiens à signaler que je suis tout a fait d'accord avec ces messieurs sur le fait que pour faire boucler indefiniment un programme un for(;;) est bcp plus propre qu'un goto.
Par contre j'ai un dilem.
Actuellement j'utilise des fonctions qui me retourne classiquement 0 ou NULL et tout autre chose si vrai. Ces fonctions je les appelle dans un sous programme à moa et j'alloue toute sorte de pointeur à l'interieur et actuellement je n'ai rien trouvé de mieux que:

foo()
{
DWORD cbToto = 0;
BYTE *pbToto = NULL;
// toto si 1er param NULL, cbToto contient la taille à allouer
if (!toto(NULL, &cbToto)) goto end;
pbToto = (BYTE *)malloc(cbToto);
if (!toto(pbToto, &cbToto)) goto end;

// ici plein d'autre appelles de la sorte

end:
if (pbToto != NULL) { free(pbToto); pbToto = NULL; }
// ici liberation de toutes les allocs
}

Je ne vois pas comment faire plus lisible est plus simple que ca.
Si vous avez une idée ...

Pounch.
0
pounch
 
Re,

article tres tres interessant sur le Goto.
http://articles.mongueurs.net/magazines/linuxmag72.html
0