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 :

explication instructions c


Sujet :

C

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 59
    Points : 62
    Points
    62
    Par défaut explication instructions c
    bonsoir, voilà je suis en train de faire un test en programmation sur le net, il y a une question sur le langage C alors que je n'ai jamais travaillé avec, j'aurais juste besoin qu'on m'éclaire la dessus !!

    Que font les instructions en C suivantes ? (1 réponse possible)
    int a = 10 ;
    int *p = &a ;
    *p = 20 ;

    □ déclare une variable ‘a’ qui vaut 10, déclare un pointeur ‘p’ qui pointe sur ‘a’, change la valeur de ‘a’ qui vaut maintenant 20
    □ déclare une variable ‘a’ qui vaut 10, déclare une variable ‘p’ qui ajoute la valeur de ‘a’ à celle de ‘p’, change la valeur de ‘p’ qui vaut maintenant 20
    □ ces instructions ne sont pas correctes car le symbole ‘&’ n’a pas à être utilisé dans ce cas précis

    je penche pour la première réponse mais je n'en suis pas sure !!

    s'il vous plait , quelqu'un pourrait il m’expliquer??

    merci beaucoupp

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 400
    Points : 23 780
    Points
    23 780
    Par défaut
    Bonjour,

    C'est bien la première réponse. Lorsqu'il est utilisé en tant que préfixe d'une expression, l'opérateur « & » sert à te renvoyer l'adresse en mémoire d'une instance d'un type quelconque.

    S'il est également utilisé en tant que préfixe, l'opérateur « * » sert à désigner un pointeur. Soit c'est au sein d'une déclaration (2ème ligne) et il sert alors à l'instancier, soit c'est au sein d'une expression évaluée et dans ce cas, il sert à le « déréférencer », c'est-à-dire à indiquer que l'on ne s'intéresse plus au pointeur lui-même mais à ce qu'il pointe, donc ici à la variable « a ».

  3. #3
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2008
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2008
    Messages : 74
    Points : 266
    Points
    266
    Par défaut
    Citation Envoyé par masoum Voir le message
    ...
    □ déclare une variable ‘a’ qui vaut 10, ...
    Je préfère dire : "déclare une variable 'a' qui est initialisée à 10".

    C'est peut-être du pinaillage, mais pour moi, c'est une constante qui vaut, une variable peut être initialisée.

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 400
    Points : 23 780
    Points
    23 780
    Par défaut
    Citation Envoyé par abgech Voir le message
    Je préfère dire : "déclare une variable 'a' qui est initialisée à 10".
    C'est peut-être du pinaillage, mais pour moi, c'est une constante qui vaut, une variable peut être initialisée.
    « Initialisée » signifie « dont on a défini l'état initial », c'est-à-dire, en principe, l'état dans lequel elle se trouve au moment où on lance le programme. Si tu initialises une variable à « 10 », elle vaut 10 tant qu'on ne lui réaffecte pas une nouvelle valeur.

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 195
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 195
    Points : 17 163
    Points
    17 163
    Par défaut
    Personnellement, je préfère dire qu'une variable contient une valeur.
    C'est une manière de parler utile pour décrire en détail certaines expressions (et la notion de valeur gauche ou droite)

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 719
    Points : 43 820
    Points
    43 820
    Par défaut
    Personnellement, je préfère dire qu'une variable contient une valeur.
    Par contre quand on débute, la notion d’initialisation est importante.

    Quand une variable n'est pas encore initialisée, elle contient une valeur aléatoire. (en fait ce qu'il y dans la case mémoire de la dite variable). Le fait de l'initialiser fixe une valeur de départ que l'on definie.

  7. #7
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 721
    Points : 31 044
    Points
    31 044
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par chrtophe Voir le message
    Par contre quand on débute, la notion d’initialisation est importante.
    Pas forcément...

    Citation Envoyé par chrtophe Voir le message
    Quand une variable n'est pas encore initialisée, elle contient une valeur aléatoire. (en fait ce qu'il y dans la case mémoire de la dite variable). Le fait de l'initialiser fixe une valeur de départ que l'on definie.
    Uniquement pour les variables locales automatiques. Parce que les variables statiques ainsi que les variables globales dont l'initialisation n'a pas été précisée sont alors initialisées à 0 par le compilateur.

    Mais comme je l'ai dit plus haut, cela n'a aucune importance tant qu'on respecte cette règle d'or: ne jamais tenter de lire le contenu d'une variable si on n'y a pas écrit quelque chose au préalable. Et si on respecte aussi cette seconde règle (d'argent) qui dit qu'on ne doit jamais écrire deux fois dans une variable sans l'avoir lue entre temps, on évite alors des instructions inutiles.

Discussions similaires

  1. explication instruction if
    Par totot dans le forum Langage
    Réponses: 2
    Dernier message: 05/04/2014, 14h11
  2. Explications instructions C#
    Par momento85 dans le forum C#
    Réponses: 3
    Dernier message: 19/08/2010, 16h48
  3. Besoin d'explication d'instructions
    Par Maria1505 dans le forum MATLAB
    Réponses: 2
    Dernier message: 27/02/2007, 14h54
  4. Explication d'une instruction de test
    Par ToTo13 dans le forum C
    Réponses: 8
    Dernier message: 07/02/2007, 17h02
  5. Explication sur une instruction...
    Par snoop dans le forum C++
    Réponses: 5
    Dernier message: 03/05/2006, 22h56

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