Bon je suis totalement débutant en C, j'arrive au chapitre des pointeurs et malgré mes recherches, je ne comprends pas tout
Dans tous les exemples que j'ai lus, quand on veut déclarer un pointeur sur un entier (par exemple), on fait :
et si j'ai bien compris
Code : Sélectionner tout - Visualiser dans une fenêtre à part int *var;
var est une adresse
*var est le contenu à l'adresse var
C'est ce que me dis tout le monde et tous les bouquins. Pour illustrer cet exemple, je me suis fait un petit prog :
Là, je me suis dit que b ne vaudrait pas 11 au final, et j'ai bien eu raison car 14 (en fait 10 + 4 puisqu'on a décalé le pointeur de 4 octets).
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
Eh ben, là où je ne comprends pas c'est lorsque je fait :
Le compilateur ne dis rien et compile normalement, et à l'execution, le prog plante en me mettant le contenu des différents registres du processeur. Pourtant les bouquins disent que *b = 10 fonctionne, et bah moi pas et je pige pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
Merci d'avance

 

 
		
		 
         
 

 
			
			


 
   
 


 une petite question sur les pointeurs
 une petite question sur les pointeurs
				
 Répondre avec citation
  Répondre avec citation
Partager