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 :

Un code obfusqué que je n'arrive pas à comprendre


Sujet :

C

  1. #21
    Membre éclairé
    Inscrit en
    Juillet 2012
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 231
    Points : 870
    Points
    870
    Par défaut
    Citation Envoyé par matafan Voir le message
    int f(void) et int f() ne sont pas identiques.

    int f(void) déclare une fonction qui ne prend aucun arguments.

    int f() déclare une fonction sans spécifier le nombre et le type des arguments.
    Ça dépend.
    Dans la définition d’une fonction, c’est la même chose.
    Dans la déclaration d’une fonction, tu as raison.
    Citation Envoyé par ISO/IEC 9899:TC3 — 6.7.5.3 Function declarators (including prototypes)
    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.
    Mais oui, la liste de paramètre vide pour « pas d’argument » date de la vieille époque ou void n’existait pas. Maintenant, il faut privilégier l’usage de void (même si l’autre peut parfois encore fonctionner) car l’autre est obsolète :
    Citation Envoyé par ISO/IEC 9899:TC3 — 6.11.6 Function declarators
    The use of function declarators with empty parentheses (not prototype-format parameter type declarators) is an obsolescent feature.

  2. #22
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Grillé

    +1 pour grim7reaper

  3. #23
    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
    Heureux d'avoir lancé les recherches dans les vieilles normes pour expliquer certaines choses !
    --
    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

Discussions similaires

  1. Erreur que je n'arrive pas à comprendre
    Par Francky44003 dans le forum Débuter
    Réponses: 1
    Dernier message: 05/01/2011, 18h39
  2. Réponses: 2
    Dernier message: 20/09/2010, 21h12
  3. boucle que je n'arrive pas à réaliser...
    Par mussara dans le forum Langage
    Réponses: 2
    Dernier message: 10/03/2006, 12h24
  4. Une requête que je n'arrive pas à faire
    Par Denti-fritz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/12/2005, 13h53
  5. problème que je n'arrive pas à résoudre de façon récursive
    Par miam dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 31/07/2004, 11h21

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