Witam, prosiłbym o wytłumaczenie co dzieje się w poniższych programach, z góry dziękuję za odpowiedź.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int *p,t[4],i;
p=t;
for (i=0;i<4;i++)
*(p+i)=i;
printf("%d",t[2]);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int *p,t[4],i;
p=t;
for (i=0;i<4;i++)
*(p+i)=i-1;
printf("%d",t[2]);
return 0;
}
Wyniki to następująco 2 i 1. Z tego co ja zaobserwowałem to przy ostatnim przebiegu pętli i jest równe 3 więc (p+i) gdzie za p podstawiona jest tablica czyli t[0+3]=i lecz nie pasuje mi tutaj wartość wyświetlana w programie. Jak to w ogóle działa? Bo raczej nie tak jak to przedstawiłem.