[C]Déclaration et affectation de variable
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

[C]Déclaration et affectation de variable



  1. #1
    invite588a8b70

    [C]Déclaration et affectation de variable


    ------

    Salut,

    Toujours avec la compréhension des code c j'ai tomber sur un autre code ou on déclare des variable statique de type char de la forme suivant:


    Code:
    static char derncar = (char) 0;
    static char prev = (char) 0;
    ou encore de forme:


    Code:
    char op = *((char *) data);
    char *str;
    je n'ai jamais vu ce type de déclaration auparavant donc je ne vois pas à quoi sert les char après = et surtt les pointeurs

    Merci d'avance pour vos explications.

    -----

  2. #2
    Jack
    Modérateur

    Re : [C]Déclaration et affectation de variable

    static permet de ne pas perdre la valeur d'une variable entre 2 déclarations successives de cette même variable. En clair, si ta variable déclarée dans une fonction vaut 10 lorsque la fanction se termine, elle vaudra de nouveau 10 lors de la prochaine exécution de cette même fonction. ENfin, ce genre de réponse tu aurais pu le trouver en 10 secondes sur ton moteur de recherche préféré.

    un type placé entre parenthèses devant un identificateur permet de caster (transtyper) la variable en question, c'est à dire permettre à la variable d'adopter le type spécifié juste le temps de la ligne de code. Il faut évidemment que le type de destination soit compatible avec le type d'origine de la varible.

    PS: tu ne t'appellerais pas MikasaMosur un autre forum?
    Dernière modification par Jack ; 31/05/2015 à 23h31.

  3. #3
    invite8a200043

    Re : [C]Déclaration et affectation de variable

    Salut, pour compléter Jack.

    Dans le 1st cas, c'est un forçage de type en char des valeurs immédiates 0 et 0, mais c'est inutile, car les variables derncar & prev sont connues comme des données sur char.
    Dans le 2nd cas, c'est un nouveau forçage de type de la variable data comme étant un pointeur de données char ((char *)), puis une récupération du contenu du pointeur data (*).
    Mais le forçage de type dans le 2nd cas est inutile si data est déjà déclaré en tant que pointeur sur des char.

  4. #4
    inviteb9f49292

    Re : [C]Déclaration et affectation de variable

    static permet de ne pas perdre la valeur d'une variable entre 2 déclarations successives de cette même variable. En clair, si ta variable déclarée dans une fonction vaut 10 lorsque la fanction se termine, elle vaudra de nouveau 10 lors de la prochaine exécution de cette même fonction. ENfin, ce genre de réponse tu aurais pu le trouver en 10 secondes sur ton moteur de recherche préféré.
    En pratique c'est ça si la variable statique est déclarée dans le corps d'une fonction, mais c'est un effet "collatéral" du statique qui change la zone de mémoire dans laquelle va résider la variable ou la fonction, et une de ces principales utilisations est de ne pas exporter le nom de la variable (ou de la fonction) de l'unité de compilation, en gros faire du "private" et/ou ne pas polluer les noms utilisés.

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Declaration de variable (matlab ou C)
    Par deyni dans le forum Programmation et langages, Algorithmique
    Réponses: 21
    Dernier message: 09/06/2014, 18h18
  2. déclaration de variable en VHDL
    Par invitea0c4ca07 dans le forum Électronique
    Réponses: 14
    Dernier message: 09/04/2013, 19h13
  3. Déclaration d'une variable un peu spéciale en C
    Par inviteba7165a5 dans le forum Électronique
    Réponses: 6
    Dernier message: 22/05/2008, 14h59
  4. Déclaration Variable C
    Par invite3c35244f dans le forum Électronique
    Réponses: 6
    Dernier message: 16/10/2007, 18h01
  5. Déclaration variable en C
    Par invite3c35244f dans le forum Électronique
    Réponses: 7
    Dernier message: 20/09/2007, 07h45