Ok, dziękuję.
Mam jeszcze jedno podobne pytanie.
#include <stdio.h>
enum aa{bb} cc=bb;
int main()
{
static int *dd;
int ee[2] = {3};
printf("%s%d", "ee[0]: ", ee[0]); putchar('\n');
printf("%s%d", "ee[1]: ", ee[1]); putchar('\n');putchar('\n');
dd = ee+1; //wskazuję na następną komórkę tabeli e, czyli e[1]
dd[-1] = ( *(ee+1) ) + 2;
printf("%s%d", "dd[-1]: ", dd[-1]); putchar('\n');
return 0;
}
Ktoś może wyjaśnić o co chodzi z tą linijką:
dd[-1] = ( *(ee+1) ) + 2;
?
Domyślam się, że do wartości z tabeli ee[1] dodaje wartość 2, czyli wynik = 2, bo ee[1]==0;
Tylko dlaczego zostało użyte dd[-1]?
Może być ujemna komórka? Dlaczego nie mogę wpisać dd[-2], wtedy wyskakuję błąd.