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 :

question de cours sur "conversion des tableaux en pointeur"


Sujet :

C++

  1. #1
    Invité
    Invité(e)
    Par défaut question de cours sur "conversion des tableaux en pointeur"
    Bonsoir à toutes et à tous,

    Je suis en train de regarder le cours de Christian Casteyde sur le c++.
    J'en suis à la Conversion des tableaux en pointeurs (cf tuto) : il y a le code suivant intitulé "Accès aux éléments d'un tableaux par pointeurs" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int tableau[100];
    int *pi=tableau;
     
    tableau[3]=5;   /* Le 4ème élément est initialisé à 5 */
    *(tableau+2)=4; /* Le 3ème élément est initialisé à 4 */
    pi[5]=1;        /* Le 6ème élément est initialisé à 1 */
    Les deux 1ères lignes d'initialisation du tableau ne me posent pas de problème c'est une application du cours : un coup en utilisant les tableaux, un autre en utilisant les pointeurs.
    Mon soucis de compréhension vient de "pi[5]=1" : plus haut à aucun moment je n'ai vu "pi=&tableau" : ne faut-il pas initialiser le pointeur à l'adresse du tableau (avec le &) avant de lui dire de pointer sur le tableau ?
    Ce qui me choque aussi c'est le "int *pi=tableau" : un problème de syntaxe : "tableau" tout court ? Pas "tableau[0]" ?

    Merci d'avance.
    A bientôt.

    Cordialement,
    Gizmo.

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Tu pourrais avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int * pi= tableau;
    // ou 
    int * pi = &tableau[0];
    Les deux sont équivalent, un tableau se transforme à la moindre provocation en pointeur sur son premier élément. C'est moche, c'est compliqué, mais c'est ainsi (et c'est hérité du C).

    PS : Ce genre de code bas niveau ne s'écrit pas souvent en C++, on prefère des notions comme les vector ou les array qui se comportent un peu comme les tableaux natifs, mais sans ces règles spéciales.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Merci pour la réponse je vais essayer de faire le tri dans ce cours.

    En vérité j'apprends à utiliser Qt Creator : en même temps j'en profite pour réviser et consolider mes bases en c++ : j'en suis aux pointeurs.
    J'ai également sous la main le tutoriel pour apprendre Qt "Débuter dans la création d'interfaces graphiques avec Qt4".

    Le cours pour apprendre c++ auquel je fais référence est bien mais rentre peut-être pas mal dans le vif du sujet.

    J'aimerais utiliser Qt Creator pour refaire boombaka (le calculateur de bpf). Avec en plus un enregistrement des paramètres dans un fichier xml, en gros une sauvegarde de la configuration précédente.
    Quels chapitres fondamentaux me conseillez-vous ? De quoi ai-je besoin pour manier Qt Creator ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/08/2007, 16h49
  2. Cours sur la creation des bases et tables sous oracle
    Par boussaad dans le forum Oracle
    Réponses: 1
    Dernier message: 30/07/2006, 11h18
  3. Réponses: 2
    Dernier message: 09/06/2006, 13h33
  4. Question pas difficile sur la gestion des listes dynamiques
    Par mulbek dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/04/2006, 13h57
  5. [LG]J'ai honte : question de cours sur les paramètres
    Par letibdesneiges dans le forum Langage
    Réponses: 14
    Dernier message: 17/01/2004, 13h57

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