Je suis très novice en ce qui concerne les pointeurs, et mes connaissances en C sont assez petites. J'essaie de comprendre les pointeurs. J'ai écrit le code suivant pour imprimer une liste de variables (a à f) comme ceci:Incrémentation de variables à l'aide de pointeurs
0
1
2
3
4
5
j'ai écrit le code suivant pour ce faire:
#include <stdio.h>
int main(){
int a,b,c,d,e,f;
int *p;
int i;
a = b = c = d = f = 0;
p = &a;
for (i = 0; i < 5; i++){
*p += i;
printf("%d\n", *p);
p++;
}
return 0;
}
L'idée était cela fonctionne à travers les variables et incrémente chacun d'un nombre toujours croissant (i). Je suppose que lorsque vous initialisez les variables en même temps, elles sont placées l'une à côté de l'autre en mémoire. Cependant, je reçois la sortie suivante:
0
1
2
3
-1218283607
Si je change la boucle seulement passer de 0 à 3 (i < 4), il fonctionne très bien, l'imprimante 0 1 2 et 3. Mais quand je veux imprime aussi la variable f, il ne semble pas la définir. Comme je l'ai dit, je suis très novice en ce qui concerne les pointeurs, donc j'ai probablement oublié quelque chose de stupide, mais j'ai regardé mon code encore et encore, essayant de le résoudre.
Merci d'avance.
Merci beaucoup :) c'était juste mon ignorance sur les variables en mémoire alors. Je vais en lire plus, merci à tous pour votre aide. – mjp