Witam,
Co do Twojego problemy to musisz sobie przyswoić dwie informacje teoretyczne. Wskaźniki dają pośredni dostęp do adresu pamięci tzn. dobrze by było gdyby wskazywały na jakiś istniejący zasób a nie na jakiś przypadkowy obszar. Drugą rzeczą, którą musisz przyswoić jest indeksowanie tablic(wskaźników). W języku C/C++ numerujemy od 0 do n-1 długości tablicy więc:
char *t="ABCD";
/*1 element to */ printf("%c\n", *(t+0));
/*2 element to */ printf("%c\n", *(t+1));
/*3 element to */ printf("%c\n", *(t+2));
/*4 element to */ printf("%c\n", *(t+3));
/*5 elementu nie ma, printf("%c\n", *(t+4)); , łatwo to udowodnić po przeliczeniu znaków występujących w "ABCD"*/
Przeanalizuj ten kod. Mam nadzieje, że Ci pomoże:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *t = "ABCD";
char *s = t + 3;
int i;
for (i = 0; i < 4 ; ++i)
{
printf("Adress t (czyli dalej Wartosc adresu wskaznika %x) Wartosc t (Wartosc wskaznika %c)", t+3-i, *(t+3-i));
puts("");
}
while (s >= t)
{
printf("Wartosc wskaznika : %c Wartosc adresu wskaznika: %x Adres wskaznika: %x", *s, s, &s);
s = s - 1;
puts("");
}
system("pause");
return 0;
}