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 :

Commenter un code et explications


Sujet :

C

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Commenter un code et explications
    bonjour à tous,
    c'est ma première et je promets de faire un effort et de ne pas vous déranger à l'avenir pour ce genre de truc.
    mais y a 15 ans d'ici j'écrivais en c++, ici j'ai un bout de code en C qu'on me demande d'expliquer. A y bien regarder je me rends compte que je dois ré-ouvrir mes livres d’antan.

    y aurait il une âme charitable qui pourrait commenter ce code de façon que je puisse y comprendre quelque chose.
    ceci est un Please avec un grand "P"


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    struct colsFacture *tallocFacture()
        {
        return (struct colsFacture *)malloc(sizeof(struct colsFacture));   
        }
     
    struct colsLigneFacture *tallocLigneFacture()
        {
        return (struct colsLigneFacture *)malloc(sizeof(struct colsLigneFacture));   
        }
     
    struct colsProduit *tallocProduit()
        {
        return (struct colsProduit *)malloc(sizeof(struct colsProduit));   
        }
     
    struct colsCommande *tallocCommande()
        {
        return (struct colsCommande *)malloc(sizeof(struct colsCommande));   
        }
     
    struct colsFournisseur *tallocFournisseur()
        {
        return (struct colsFournisseur *)malloc(sizeof(struct colsFournisseur));   
        }
     
    struct colsLivraison *tallocLivraison()
        {
        return (struct colsLivraison *)malloc(sizeof(struct colsLivraison));   
        }
    merci un bon milliard de fois à qui voudra m'aider


    kyronex,

  2. #2
    Membre expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Points : 3 532
    Points
    3 532
    Par défaut
    C'est pas bien compliqué...
    Et j'admets qu'avec le temps ces choses disparaissent ! (moi-même j'oublie la syntaxe assez vite)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    struct colsFacture *tallocFacture() //Renvoie une structure, précisément une structure de colsFacture, et encore plus rpécisément avec l'* cela renvoie un pointeur vers une structure de colsFacture... et la fonction effectuant cela s'appelle tallocFacture, et elle prend un nombre indéterminé de paramètres sans pouvoir explicitement les utiliser
    {
        return (struct colsFacture *)malloc(sizeof(struct colsFacture)); //On renvoie un malloc casté en pointeur de structure colsFacture... et ce malloc alloue la taille de la structure colsFacture
    }
    Pour rappel :
    - la structure contient des membres, et l'ensemble fera une certaine taille en mémoire
    - sizeof permet de déduire la taille de la structure à la compilation
    - un pointeur est une adresse mémoire vers le début de ta structure
    - malloc permet d'allouer N octets en mémoire et renvoie un pointeur vers le début de cette zone
    - si ta fonction ne doit prendre AUCUNE valeur en paramètre (si elle ne fait QUE renvoyer des valeurs, comme dans ton exemple) il faudrait lui mettre un void : struct colsFacture *tallocFacture(void)- un pointeur fera la taille que le bus d'adresse de ton CPU supporte, aujourd'hui : 32bits ou 64 bits, soit 4 octets ou 8 octets (1 bit = 1 papatte de CPU ou 1 fil, 1 octet = 8 bits)

    Il manque quelque chose que tu n'as pas compris ?
    (je suppose que tu as déjà les bases et que ça va te décrasser les souvenirs tout ça ! )
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    je te remercie, c'est exactement ce que je voulais savoir,
    merci 1000x pour ta rapidité,
    je vais très vite me remettre à bosse ce langage
    ++

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

Discussions similaires

  1. comment utiliser code::blocks
    Par zinni dans le forum Code::Blocks
    Réponses: 9
    Dernier message: 13/02/2007, 13h36
  2. commenter le code avec doxygen
    Par ryadh.naouar dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 03/01/2007, 16h06
  3. Commenter le code
    Par mambo dans le forum C++
    Réponses: 19
    Dernier message: 12/08/2006, 00h08
  4. Comment commenter son code source proprement ...
    Par basnifo dans le forum MFC
    Réponses: 3
    Dernier message: 31/03/2006, 16h22

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