IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Qu'est-ce qu'un point de séquence?


Sujet :

C

  1. #1
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut Qu'est-ce qu'un point de séquence?
    Salut!

    J'ai souvent vu sur le forum C l'expression "point de séquence", j'ai cherché sur Google qui me renvoie quelques pages qui ne m'ont pas avancées.

    Pourriez m'indiquer sa signification?

    Merci.

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Salut !

    si tu faisait un lien vers le post où tu as vus l'expression, ça nous aiderait peut-être à en déterminer le contexte parce que là, ça peut être tout et n'importe quoi ^^
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Je pense que tu fais allusion à ceci :
    Citation Envoyé par wikibooks.org
    Post/pré incrémentation/décrémentation C'est un concept quelque peu sibyllin du C. Incrémenter ou décrémenter de un est une opération extrêmement courante. Écrire à chaque fois 'variable = variable + 1' peut-être très pénible à longue. Le langage C a donc introduit des opérateurs raccourcis pour décrémenter ou incrémenter n'importe quel type atomique (gérable directement par le processeur : c'est à dire pas un tableau, ni une structure ou une union). Il s'agit des opérateurs '++' et '--', qui peuvent être utilisés de manière préfixée ou postfixée (avant ou après la variable).
    Utilisé de manière préfixée, un opérateur retourne la valeur avant opération, tandis qu'écrit de manière postfixée, la valeur après opération est retournée. Exemples :
    int i = 0, j;

    j = i++; /* j vaut 0 et i vaut 1 */
    j = --i; /* j vaut 0 et i vaut 0 */
    À noter que si l'objet sur lequel s'applique un tel opérateur apparaît plusieurs fois avant un point de séquencement (généralement la fin d'une instruction), alors le résultat est imprévisible. Le code qui suit est imprévisible et ce simplement en changeant les options d'un même compilateur :
    /* Le code qui suit est imprévisible */
    j = i++ + ++i;

    /* Ou de façon moins évidente */
    j = f(++i, 22, i);

    /* De même que ceci n'est pas conseillé */
    i = i++;
    Voici ce que dit la norme C (Committee Draft — May 6, 2005):
    Accessing a volatile object, modifying an object, modifying a file, or calling a function
    that does any of those operations are all side effects,11) which are changes in the state of
    the execution environment. Evaluation of an expression may produce side effects. At
    certain specified points in the execution sequence called sequence points, all side effects
    of previous evaluations shall be complete and no side effects of subsequent evaluations
    shall have taken place
    . (A summary of the sequence points is given in annex C.)
    Voici l'annexe C :
    Sequence points
    1 The following are the sequence points described in 5.1.2.3:
    — The call to a function, after the arguments have been evaluated (6.5.2.2).
    — The end of the first operand of the following operators: logical AND && (6.5.13);
    logical OR || (6.5.14); conditional ? (6.5.15); comma , (6.5.17).
    — The end of a full declarator: declarators (6.7.5);
    — The end of a full expression: an initializer (6.7.8); the expression in an expression
    statement (6.8.3); the controlling expression of a selection statement (if or switch)
    (6.8.4); the controlling expression of a while or do statement (6.8.5); each of the
    expressions of a for statement (6.8.5.3); the expression in a return statement
    (6.8.6.4).
    — Immediately before a library function returns (7.1.4).
    — After the actions associated with each formatted input/output function conversion
    specifier (7.19.6, 7.24.2).
    — Immediately before and immediately after each call to a comparison function, and
    also between any call to a comparison function and any movement of the objects
    passed as arguments to that call (7.20.5).
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  4. #4
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Trap D=>c'est en effet dans ce contexte.
    Je ragarde et je pose mes questions après.
    Merci.

  5. #5
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Utilisé de manière préfixée, un opérateur retourne la valeur avant opération, tandis qu'écrit de manière postfixée, la valeur après opération est retournée
    C'est pas l'inverse?

    Je dit une connerie ou un point de séquencement n'est rien d'autre qu'un point virgule ';' dans le contexte du C?

  6. #6
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    En effet, je pense que aussi que c'est l'inverse, sûrement une légère erreur
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Oui tout à fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    i++;  /* Retourne la valeur puis incrémente */
    ++i;  /* Incrémente puis retourne la valeur */
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #8
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Et sinon, je dit une connerie ou un point de séquencement n'est rien d'autre qu'un point virgule ';' dans le contexte du C?

  9. #9
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Tout à fait, j'ai reproduit le code de wikibooks.org sans le lire de manière approfondie, comme quoi il faut se méfier des wiki.
    Dans 90% des cas le point de séquencement est un ; mais tu as aussi la virgule, juste avant le retour de la fonction f dans un appel du style x = f(i) + 3 * j; par exemple...
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  10. #10
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    La virgule?
    Où ça?

  11. #11
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    dans par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for (i = 0, j = 0; i < 10); i++, j += 2)
       f(i+j);
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  12. #12
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    OK!

    Merci beaucoup de vos explications.

    Je note le problème .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WS 2003] Qu'est ce qu'un point de jonction?
    Par Jean-Claude Dusse dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 08/06/2009, 14h24
  2. Pourquoi la taille de fonte par défaut est de 8.25 points?
    Par Nico57 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/12/2007, 08h55
  3. Savoir si un point est inclus dans un polygone quelconque
    Par SuperBIBI dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 02/08/2005, 19h02
  4. savoir si 1 point est a l'intérieur d'un cercle ...
    Par skarladevobsy dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 23/05/2002, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo