[c++]affichage adresse mémoire

Résolu
Utilisateur anonyme -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous !

voila j'ai un tout petit probleme. pour commencer, je met le code :

 

long Function(char * ch)
{
   return &ch;
}



dans le main :
char * ch = "blabla";
cout << hex << function(ch) << endl;


je pense que vous avez compris ce que je veux faire. Mon problème est donc que j'affiche un type fffffxd8 et je veux un 0x22f. Quelqu'un connait il la solution? merci d'avance !
A voir également:

8 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
retourne ch au lieu de &ch.
0
Utilisateur anonyme
 
kk, j'essaye =)
0
Utilisateur anonyme
 
ouai nan en fait il croit retourner un char donc impossible. ah et dsl je me suis trompé, je retourne *ch (pour l'addresse de la premiere case)

mais en fait je recoit bien l'adresse, mais j'affiche pas sous la forme qui m'interesse c'est tout =)
0
Chewi-Chew Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour,

Peut etre que je suis completement a coté de la plaque mais le "%x" ne pourrai pas afficher le code hexa ?
Car la ta fonction retourne l'adresse memoire ou se trouve ta variable ? (c'est ce que tu veux faire ? oki au temps pour moi)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
oui c'est ce que je veux faire. oui le %x serai niquel il me semble mais je peux pas utliliser les printf (con de prof c++ mdr)

mais ce qui est marrant c'est qu'en mettant juste
cout << &ch << endl


il me semble que ca marche =)

je pense que parfois il faut pas chercher en fait mdr
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
&ch ne doit pas être ce que tu veux, c'est l'adresse mémoire de la variable ch et non celle de la première case.
essai :
cout<<(void*) ch<<endl;
Je ne comprend pas ce qui te gênes dans le premier affichage que tu donnes.
0
Utilisateur anonyme
 
nan c'est juste que c'est pas celui que je prefere =)
(ah, et petit truc => l'addresse mémoire d'une chaine c'est l'adresse de la premiere case)

nan mais sinon laisse, je ferai autrment, c'est pas non plus vitale pour mon code ^^

merci quand meme !
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
si char*ch="kllhk" l'adresse mémoire de la première lettre c'est "ch" ; "&ch" c'est l'adresse mémoire de la variable qui stocke cette première adresse mémoire.
0