Bonjour, je débute en programmation C et j'aimerais comprendre un peu plus en détail ce qui se passe lors de l'exécution de ce bout de code :
Si je fais un printf de number, cela m'affiche 5. Or je ne comprends pas car ma fonction create renvoi un pointeur sur une variable locale de cette fonction (à savoir la variable b).
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
Mais normalement, étant donné que c'est une variable locale, elle devrait être détruite à la fin de l'exécution de la fonction create. Du coup create va renvoyer un pointeur sur une variable qui va être détruite.
Ma question est, pourquoi alors number vaut 5 ? (Aurais-je fais une allocation dynamique sans m'en rendre compte ?

 

 
		
		 
         
			
			

 
   


 Clarification sur la durée de vie des variables et l'allocation
 Clarification sur la durée de vie des variables et l'allocation
				 Répondre avec citation
  Répondre avec citation


 
  
 
 
			 
  
 
 
			 Envoyé par haraelendil
 Envoyé par haraelendil
					



Partager