void f_ptr(char *t){
char **p = &t;
return;
}
int main(){
char e = 'a';
f_ptr(&e);
return 0;
}
J'ai une petite question concernant l'adressage du pointeur t dans ce code car lorsque je regarde les adresses j'obtiens ça :
e = 97 OK
&e = 0000007b5bfffa2d OK
t = 0000007b5bfffa2d OK
&t = 0000007b5bfffa2d NOK
*p = 0000007b5bfffa2d OK
**p = 97 OK
p = 0000007b5bfffa00 NOK
&p = 0000007b5bfff9e8 OK
Est ce que quelqu'un aurait plus d'explication sur le faite que l'adresse du pointeur déclaré dans les paramètres formels soit la même que celle de l'objet référencé (un peu comme un tableau) mais que ensuite quand je référence ce pointeur avec un autre pointeur, il me ressort une autre adresse .. ?
L'affichage des résultats ne peut pas correspondre au code que tu fournis. Il nous faut le code complet pour le commenter. Deux variables distinctes ne peuvent pas avoir la même adresse au même moment.
Ici il y a trois variables etp. Toute variable est quelque part en mémoire et a un contenu et peut avoir une adresse. Donc comme tu l'indiques on a forcément 3 adresses différentes, &e&t et &p sont donc distincts. Si on s'intéresse aux contenus on a : contenu de e : 'a' contenu de t : adresse de e contenu de p : adresse de t D'où : *p === t === &e **p === *t === e === 'a'
Effectivement j'avais mal formaté l'affichage de l'adresse *erreur bête* mais je n'avais rien vu et j'ai cherché toute la matinée pourquoi les pointeurs de paramètres formels ont l'adresse de leurs référence mais effectivement , c'est impossible, j'ai pas vu l'illogique la dedans ..
J'avais fait ce simple code car il y a des choses que j'ai pas bien compris dans le passage des tableaux en paramètre de fonctions et je voulais revenir aux bases mais je posterais mes questions sur les tableaux dans un autre sujet, merci en tout cas pour vos réponses ça fait plaisir
Et bonne fin journée !
- Edité par GaMMachiPo 20 janvier 2023 à 15:29:49
Adressage des paramètres formels
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.
En recherche d'emploi.