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 :

Cast change t-il la valeur ou la variable ? [Débutant(e)]


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Par défaut Cast change t-il la valeur ou la variable ?
    Salut,

    J'ai juste une petite question :

    Je voudrais juste savoir si le cast change la valeur d'une variable (à droite du =)
    pour la cirsconstance ou s'il change aussi le type de la variable elle-même.

    int c=5;
    float b;
    b=float(c) + 2.0;
    Là je convertit 5 en float pour la circonstance mais mon c reste un int pour la suite du programme ou bien ma variable c se transforme en float et le reste par la suite ?

    merci.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 264
    Par défaut
    c ne change pas. b reçoit la valeur de c, convertie en float

  3. #3
    Membre émérite
    Avatar de panda31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2003
    Messages : 670
    Par défaut
    Pour plus de détail sur C : http://emmanuel-delahaye.developpez.com/

    Il sera heureux de se voir cité encore une fois Emmanuel !
    Michaël Mary
    Consultant PLM dans une société de conseil toulousaine
    Auditeur CNAM-IPST depuis septembre 2008
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods
    mon cv et mon domaine et mon blog
    Aucune question technique par MP, svp

  4. #4
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 887
    Par défaut
    Salut,

    Quand tu déclares une variable ( int c par exemple ) tu lui donnes un type, qu'elle va garder tout le long dans la portée correspondante.

    Le cast est donc bien une conversion de la valeur ponctuelle, ta déclaration reste toujours valable.

    A+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Par défaut
    d'accord, donc c reste un int après le cast qui convertit donc sa valeur ponctuellement.

    Merci.

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par gauguin
    J'ai juste une petite question :

    Je voudrais juste savoir si le cast change la valeur d'une variable (à droite du =)
    pour la cirsconstance ou s'il change aussi le type de la variable elle-même.
    A droite, non.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int c=5;
    float b;
    b=float(c) + 2.0;
    Là je convertit 5 en float pour la circonstance mais mon c reste un int pour la suite du programme ou bien ma variable c se transforme en float et le reste par la suite ?
    Non. Le type d'une variable ne change jamais. C'est sa valeur (ou tout au moins une copie de sa veleur) dont le type peut être altéré. (copie de la valeur aussi).

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

Discussions similaires

  1. Tableau change tout seul de valeur
    Par Avatar36 dans le forum C++
    Réponses: 5
    Dernier message: 31/03/2015, 16h10
  2. Réponses: 8
    Dernier message: 18/06/2008, 17h56
  3. Réponses: 6
    Dernier message: 08/07/2007, 17h29
  4. Réponses: 1
    Dernier message: 23/04/2007, 13h22
  5. Réponses: 6
    Dernier message: 18/01/2007, 10h24

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