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 :

Tableau de char[] passé dans une fonction


Sujet :

C

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Joratois
    Bonjour,

    J'ai le sentiment de me débattre dans une toile d'araignée...

    Quand je corrige à un endroit, ça merde à un autre !
    Tu devrais commencer par des choses plus simple, comme par exemple, comment une fonction peut elle transmettre des données à sa fonction appelante ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    #include <stdio.h>
     
    void load (???)
    {
       int x = 123;
    }
     
    int main (void)
    {
       int a;
       load( ??? );
     
       printf ("a = %d\n", a);
     
       return 0;
    }
    commence par compléter ce code pour qu'il affiche

  2. #22
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Points : 44
    Points
    44
    Par défaut
    Tu devrais commencer par des choses plus simple, comme par exemple, comment une fonction peut elle transmettre des données à sa fonction appelante ?
    Bonjour,

    Dans notre support de cours, il y a des dizaines d'exemples de ce type avec une variable simple !

    Et je sais aussi faire des petits trucs comme ça qui marchent bien !

    Mais le problème, c'est que jusqu'ici, je n'ai jamais trouvé une explication sur les interactions des éléments entre eux.

    Par exemple, dans la déclaration de la fonction chargeProd(), le premier élément est un pointeur sur char; dans l'appel, c'est une valeur "produits.txt"; dans la fonction elle-même c'est de nouveau un pointeur.
    Pourquoi dois-je inscrire de cette manière ? Pourquoi n'est ce pas partout une valeur ou bien partout un pointeur ?
    La seule réponse que j'aie obtenue jusqu'ici se résume grosso modo à "Du moment que ça fonctionne, ne te soucie pas de comprendre !!"

    Mais si je ne comprends pas pour quelle raison je dois programmer de telle ou telle manière, y a t il un jour une chance que je puisse programmer de manière intelligente ?

    Jusqu'ici, j'ai plutôt le sentiment de programmer comme un singe, je tape sur des touches plus ou moins au hasard sans comprendre ce que je fais, des fois ça marche et je reçois une banane et des fois ça marche pas et je ne reçois pas de banane...
    Mais que ça marche ou que ça marche pas, dans les deux cas, je suis incapable d'expliquer pourquoi ?

    Je sais programmer une fonction qui travaille avec des int ou avec des char et ça marchera simplement parce que je vais essayer chaque possibilité méthodiquement (valeur, adresse, pointeur) jusqu'à ce que ça marche.
    Mais je ne sais toujours pas pourquoi ça marche...

    Alors, lorsque je tombe sur un cas ou je dois mélanger des int, des float et des char, je suis perdu.

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Joratois
    Dans notre support de cours, il y a des dizaines d'exemples de ce type avec une variable simple !

    Et je sais aussi faire des petits trucs comme ça qui marchent bien !

    Mais le problème, c'est que jusqu'ici, je n'ai jamais trouvé une explication sur les interactions des éléments entre eux.
    C'est à dire ? ceci ?

    http://emmanuel-delahaye.developpez....difie_variable
    Par exemple, dans la déclaration de la fonction chargeProd(), le premier élément est un pointeur sur char; dans l'appel, c'est une valeur "produits.txt"; dans la fonction elle-même c'est de nouveau un pointeur.
    Pourquoi dois-je inscrire de cette manière ? Pourquoi n'est ce pas partout une valeur ou bien partout un pointeur ?
    C'est pour ça que je te proposais cet exercice. Pour voir les raisons en détail. Tu peux lire ça aussi :

    http://emmanuel-delahaye.developpez.....htm#param_tab

    En tout cas, tu as parfaitement raison de dire qu'il ne faut pas taper le code au hasard. Il faut prendre du temps pour comprendre comment et pourquoi ça se passe. Tu ne dois pas produire une ligne de code dont tu ne maitrises pas tous les aspects.

    C'est pour ça que j'avais bien compris que tu voulais une explication 'pas à pas'.

    Les pointeurs, tu as compris ?

    http://emmanuel-delahaye.developpez.....htm#pointeurs
    http://emmanuel-delahaye.developpez....util_pointeurs

  4. #24
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    J'ai commencé à lire, c'est très intéressant !!

    J'ai imprimé le tout et je vais le lire ce soir. J'espère qu'après ça, je pourrai corriger moi-même mon travail !

    Merci du lien !

    Bonne après-midi !

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    J'ai lu toutes les informations et je crois que j'ai cette fois compris les fonctions, les pointeurs et le passage des paramètres.

    Merci beaucoup pour cette page qui est très bien réalisée !!

  6. #26
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Points : 44
    Points
    44
    Par défaut
    Abandon

    J'y arrive pas

    malgré tout merci de la peine que vous vous êtes donné

  7. #27
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    re-montre où tu en es....

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/12/2009, 15h01
  2. Réponses: 7
    Dernier message: 18/02/2009, 12h34
  3. Passer un tableau PHP en argument dans une fonction javascript ?
    Par The Molo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/05/2007, 12h31
  4. Réponses: 17
    Dernier message: 15/05/2006, 17h18
  5. Réponses: 6
    Dernier message: 03/02/2006, 19h45

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