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 :

Questions th�oriques en C++


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ing�nieur Informatique
    Inscrit en
    Mai 2012
    Messages
    43
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 43
    Par d�faut Questions th�oriques en C++
    Bonjour, j'esp�re que vous pourrez m'�clairer en r�pondant � ma question . Pendant les vacances, je dois r�aliser la correction d'un devoir en C++ mais je bloque sur une question ou je ne comprend pas certaines subtilit�s :

    Expliquer la ligne de code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    #define RDR (*(unsigned char*)0x8000)
    => d�finition d'une variable contenant l'adresse d'une pointeur pointant sur une adresse sp�cifique ??

    Expliquer :
    => d�claration d'un pointeur de type char non sign�.

    Expliquer:
    => je ne vois malheureusement pas la diff�rence avec la ligne pr�c�dente

    Expliquer :
    => contenu de l'adresse d'un pointeur de type char non sign� ??

    En esp�rant avoir �t� clair et dites moi si je me suis tromp� l'a ou j'ai "r�ussi" a compl�ter

    Merci d'avance pour votre aide

  2. #2
    Membre �m�rite

    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    533
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 533
    Par d�faut
    Attention, #define ne d�finit pas une variable mais une macro : toutes les occurrences de RDR dans ton fichier vont �tre remplac�es automatiquement par (*(unsigned char*)0x8000). Cette "expression" peut se traduire par � Le unsigned char situ� � l'adresse m�moire 0x8000 �. D'habitude on n'int�gre jamais "en dur" une adresse m�moire dans un code C++, mais si on connait tr�s bien le mat�riel �a peut se justifier.

  3. #3
    Membre confirm�

    Homme Profil pro
    automatisme
    Inscrit en
    Octobre 2012
    Messages
    59
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activit� : automatisme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 59
    Par d�faut
    Salut,
    je suis sur � 100% mais effectivement c'est la m�me chose
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    unsigned char* = (unsigned char*)

  4. #4
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Citation Envoy� par balhrog Voir le message
    Salut,
    je suis sur � 100% mais effectivement c'est la m�me chose
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    unsigned char* = (unsigned char*)
    Oui puisque les parenth�ses servent juste � forcer la pr�c�dence.
    Enfin en l'occurence, � rien.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  5. #5
    Membre actif
    Avatar de fmdao
    Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2010
    Messages
    90
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activit� : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 90
    Par d�faut
    C'est pas plut�t une conversion de type (cast) !

    entier vers pointeur ( adresse ).

  6. #6
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Citation Envoy� par Bousk Voir le message
    Oui puisque les parenth�ses servent juste � forcer la pr�c�dence.
    Enfin en l'occurence, � rien.
    Donc je peux �crire :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
      unsigned char *s1;
      (unsigned char*) s2;
    Et ces deux lignes ont le m�me comportement ?

    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  7. #7
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    pas du tout (et je me suis d�j� fait taper sur les doigts a ce sujet).

    unsigned char *s1; est la d�claration d'un pointeur sur unsigned char nomm� s1
    (unsigned char*) s2; est une expression transtypant s2 en pointeur sur unsigned char. c'est l'�quivalent de (int)2.0f;.

  8. #8
    Membre tr�s actif
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Par d�faut
    Bonjour,

    Pour le define je ne sais plus si c'est une macro quand il y a une prise de param�tre et une d�finition quand il n'y en � pas.

    d�claration d'un pointeur de type char non sign�, soit une variable de 1 octet (8 bits) avec des valeurs de 0 � 255

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    (unsigned char*) s2;
    Un cast pour dire au programme que s2 est un pointeur de type unsigned char

    d�-r�f�rencement si je ne dit pas de connerie.

Discussions similaires

  1. Question th�orique sur le langage
    Par Nico73 dans le forum Langage
    R�ponses: 23
    Dernier message: 07/08/2006, 01h29
  2. question th�orique sur le mot class
    Par stgi02 dans le forum C++
    R�ponses: 3
    Dernier message: 01/05/2006, 15h11
  3. Question th�orique sur les normales
    Par Pedro dans le forum DirectX
    R�ponses: 5
    Dernier message: 16/10/2005, 19h24
  4. questions th�oriques
    Par roger12 dans le forum Langage SQL
    R�ponses: 6
    Dernier message: 27/01/2005, 13h05
  5. Question th�orique
    Par bart64 dans le forum D�veloppement
    R�ponses: 2
    Dernier message: 14/05/2003, 19h28

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