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 :

Le C en 20 h [Livres]


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de Lana.Bauer
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2012
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2012
    Messages : 5 382
    Par défaut Le C en 20 h
    Salut,

    Si vous voulez apprendre le C en 20 h c'est le livre que vous cherchez :

    Cet ouvrage se propose de vous faire découvrir par la pratique toutes les bases essentielles du langage C. Destiné aux débutants, fruit de l'expérience pédagogique d'Eric Berthomier et Daniel Schang, l'ouvrage n'est pourtant pas un manuel comme les autres. Son intérêt est d'être parcouru de A à Z en suivant l'adage : « j'apprends le code en écrivant le code ».

    Testée par de nombreux étudiants qui n'avaient aucune connaissance préalable du Langage C, la méthode développée par les auteurs permet d'effectuer un apprentissage complet en une durée de 20 à 30 heures de travail.
    Bonne lecture !

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Soe,

    Le C complet en 20 à 30 heures !

    Les malheureux, ils vont vers de cruelles désillusions.

  3. #3
    Membre chevronné
    Inscrit en
    Juillet 2012
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 231
    Par défaut
    Pas forcément.

    Si tu lis correctement la description de l’ouvrage tu vas voir ça :
    Cet ouvrage se propose de vous faire découvrir par la pratique toutes les bases essentielles du langage C.
    Les bases du C ne sont pas terriblement difficile, et il n’y pas de concepts terriblement compliqués dedans (non, les pointeurs ce n’est pas compliqué).
    Donc oui
    un apprentissage complet [de toutes les bases essentielles] en une durée de 20 à 30 heures de travail.
    C’est jouable.
    Par contre une maîtrise du C (connaissance des undefined behavior par exemple), oui ça demande plus de temps et d’expérience.



    Par contre, ils apprennent un prototype de main non standard et ça c’est franchement dommage
    En C
    ce n‘est pas la même chose que
    En C++ ok, mais pas en C.

  4. #4
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Citation Envoyé par grim7reaper Voir le message
    En C
    ce n‘est pas la même chose que
    En C++ ok, mais pas en C.
    Pour l'instant, tout dépend si la déclaration de la fonction fait ou non partie de sa définition :
    Citation Envoyé par n1256 (C99)
    6.7.5.3 Function declarators (including prototypes)
    Constraints
    ....
    14 An identifier list declares only the identifiers of the parameters of the function. An empty list in a function declarator that is part of a definition of that function specifies that the function has no parameters. The empty list in a function declarator that is not part of a definition of that function specifies that no information about the number or types of the parameters is supplied.126)
    La note (126) conduit à une déclaration d'obsolescence.
    La n1570 (C11) reprend les mêmes dispositions.

    Une telle écriture est donc à déconseiller fortement même si elle n'est pas, pour le moment, toujours incorrecte.

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    En gros, int main() { ... } est bon, mais int main(); est mauvais?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre chevronné
    Inscrit en
    Juillet 2012
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 231
    Par défaut
    Ha, je n’avais pas connaissance de cette différence de sens selon si c’est un prototype ou une définition.
    Pour moi la liste vide signifiait toujours « nombre quelconque de paramètres de types quelconques »
    Je serai plus attentif à ma lecture de la norme la prochaine fois.

    Cela dit, même si la sémantique reste la même que pour int main(void), je ne suis quand même pas sûr que ça soit une définition valide selon le standard pour une fonction main.
    Dans le meilleur des cas c’est valide mais déprécié, donc dans tout les cas à éviter.

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