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 :

Aide pour comprendre mismatch


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 2
    Par défaut Aide pour comprendre mismatch
    Bonsoir,
    je suis débutant en C (Presque niveau 0),
    j ai trouvé un code en C , je veux le traduire en pascal, mais j arrive pas a comprendre le code suivant :

    c est quoi 'Mismatch', et pourquoi elle est utilisé ? Ce que j ai compris (apres recherche), elle est utilisée lorsque
    deux types ne sont pas compatible exemple type entier et byte

    si par exemple var1=34536;
    si je met Var1.mismatch=0 ( que devient var1?);
    autre exemple : var2:=442332;
    si je met Var1.mismatch=var2; (que devient var1?).

    Merci d avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 771
    Par défaut
    Impossible de te répondre : il faut connaître les types.

    La variable Va1 est 1 structure et Mismatch est 1 attribut/ membre.

    C'est pour cela que toutes tes questions ne veulent rien dire
    • avec 1 structure, il faut recopier tous les membres/ attributs pour faire 1 affection/ recopie.
    • Var1.mismatch=var2; ou Var1.mismatch=0 ne modifie que la valeur de cet attribut. Le reste de ta structure n'est pas modifié.

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par MOUNA1411 Voir le message
    je suis débutant en C (Presque niveau 0),
    Donc il serait peut-être plus utile de l'apprendre avant de vouloir le traduire. Exemple: je ne parle pas un mot de japonais, et donc même si je parle très bien français il ne me viendrait jamais à l'idée de tenter de traduire du japonais en français.

    Citation Envoyé par MOUNA1411 Voir le message
    Ce que j ai compris (apres recherche), elle est utilisée lorsque deux types ne sont pas compatible exemple type entier et byte
    Hum... j'aimerais connaitre l'origine de cette information qui me semble plutôt hasardeuse. Surtout déjà parce qu'en C les types de base sont tous compatibles les uns avec les autres (ils s'incluent en fait les uns les autres, comme en mathématiques les relatifs incluent les naturels, les décimaux incluent les relatifs et etc). Et donc on peut toujours écrire en C var1=var2 quels que soient le type (type de base s'entend, donc char/int/flot/double) de var1 et var2. Certes si les deux types sont de taille inégale et qu'on copie le plus large dans le plus étroit on perdra de l'information mais l'instruction de copie elle-même reste possible.

    Citation Envoyé par MOUNA1411 Voir le message
    si par exemple var1=34536;
    si je met Var1.mismatch=0 ( que devient var1?);
    Si Var1=34536 alors Var1 est de type "int" et non de type "structure" et donc ne contient pas de membre nommé "mismatch" => écrire Var1.mismatch=0 ne compilera pas.

    Citation Envoyé par MOUNA1411 Voir le message
    autre exemple : var2:=442332;
    si je met Var1.mismatch=var2; (que devient var1?).
    Même réponse (dans l'autre sens). Si tu peux remplir Var1.mismatch (parce que Var1 est une structure) alors tu ne pourras pas écrire Var1=34536.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [Thread] aide pour comprendre un exemple
    Par maminova77 dans le forum 2D
    Réponses: 2
    Dernier message: 19/04/2006, 23h24
  2. Aide pour comprendre 2 séries d'instructions
    Par raou123 dans le forum Assembleur
    Réponses: 1
    Dernier message: 11/04/2006, 22h43
  3. Aide pour comprendre un code
    Par Spacy_green dans le forum Assembleur
    Réponses: 2
    Dernier message: 13/02/2006, 13h22
  4. Aide pour comprendre le code
    Par jfreuff dans le forum Assembleur
    Réponses: 2
    Dernier message: 31/01/2006, 17h54
  5. Réponses: 4
    Dernier message: 28/07/2005, 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