Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1085 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [Côté obscure du C] Pige pas ce ça fait ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Côté obscure du C] Pige pas ce ça fait ...

n°430462
HelloWorld
Salut tout le monde!
Posté le 17-06-2003 à 14:00:00  profilanswer
 

Salut,
Je suis tombé sur un bout de code en C, et là, ben, je pige vraiment pas comment ça marche

Code :
  1. int x= 1;
  2.     if ( *(char*) & x == 1 ) (...)


 
C'est quoi ce *(char*) ? :??:


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
mood
Publicité
Posté le 17-06-2003 à 14:00:00  profilanswer
 

n°430465
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 17-06-2003 à 14:02:00  profilanswer
 

c'est le caractère ascii 1
 
Y a aucun truc : ça se lit tel quel :
"Valeur pointée par un char* casté à partir d'un int* qui pointe vers 1"


Message édité par Tetragrammaton IHVH le 17-06-2003 à 14:05:25

---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°430469
hellbilly
free smile
Posté le 17-06-2003 à 14:04:20  profilanswer
 

HelloWorld a écrit :

Salut,
Je suis tombé sur un bout de code en C, et là, ben, je pige vraiment pas comment ça marche

Code :
  1. int x= 1;
  2.     if ( *(char*) & x == 1 ) (...)


 
C'est quoi ce *(char*) ? :??:


l'adresse de x est castée en char * et * devant sert à aller voir la valeur pointée par le char *.

n°430479
HelloWorld
Salut tout le monde!
Posté le 17-06-2003 à 14:08:01  profilanswer
 

pfffff, quel *** !!!
Je croyais qu'il effectuait un ET binaire entre x et l'expression *(char *). Je pigeais pas komen *(char*) pouvait etre une expression.
Merci les gars.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°430535
HelloWorld
Salut tout le monde!
Posté le 17-06-2003 à 14:28:40  profilanswer
 

Au fait, ca n'a rien à voir avec la valeur ASCII 1.
C'est juste pour déterminer little / big endian.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°430651
fodger
ARRRACHHEE TTAAA FFFOUUFFOUNE!
Posté le 17-06-2003 à 15:13:13  profilanswer
 

HelloWorld a écrit :

Salut,
Je suis tombé sur un bout de code en C, et là, ben, je pige vraiment pas comment ça marche

Code :
  1. int x= 1;
  2.     if ( *(char*) & x == 1 ) (...)


 
C'est quoi ce *(char*) ? :??:


 
Ce qui était trompeur dans ce que tu avais écrit, c'est l'espace entre ton '&' et 'x', parce que écrit tel quel ça doit être interprété comme un '&' logique, auquel cas ça n'aurait pas de sens...
 
si c'est bien

Code :
  1. if( *(char *)&x == 1)

on regarde si le contenu de l'adresse de x castée en char est égale à 1.
 
Mais où est l'intérêt d'une telle syntaxe?


---------------
Just drink it!
n°430819
xWillow
Posté le 17-06-2003 à 16:55:08  profilanswer
 

masturbation intellectuelle ?

n°430824
kadreg
profil: Utilisateur
Posté le 17-06-2003 à 16:56:05  profilanswer
 

xWillow a écrit :

masturbation intellectuelle ?


 
Non, non, cerveau déformé par des années de C.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°430837
bjone
Insert booze to continue
Posté le 17-06-2003 à 17:05:08  profilanswer
 

HelloWorld a écrit :

Au fait, ca n'a rien à voir avec la valeur ASCII 1.
C'est juste pour déterminer little / big endian.


 
ouki, le premier octet est testé pour savoir c'est l'octet de poids ford ou de poids faible en premier...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Côté obscure du C] Pige pas ce ça fait ...

 

Sujets relatifs
[C++] Malloc et Free ... truc que je pige pasECMA script coté serveur : des tutoriaux ?
comment avoir juste le bon coté du auto_increment de mysql? Aide pour mon script php, je pige pas pkoi il marche pas
[ASP.NET] --> côté serveur on a quoi ?<input type="file"> Comment gere t-on le flux du fichier coté serveur?
Erreur en pascal, je pige pas???[ XHTML ] Grrr je pige rien au div et au positionnement...
VC++ MFC Sockets : Erreur que je pige pas ...j'ai un pb à l'installation de VB6, et je pige pas d'ou ça vient !!!!
Plus de sujets relatifs à : [Côté obscure du C] Pige pas ce ça fait ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR