[C] Funkcja ze wskaźnikiem

0

Mam pewne zadanie. Chodzi o to, by wypisać ciąg znaków od tyłu używając wyłącznie wskaźników. Poniżej zamieszczam fragment kodu, który muszę uzupełnić. Mój problem polega na tym, że nie bardzo rozumiem co tak właściwie otrzymuje funkcja. Przyjmuje ona wskaźnik na char. Domyślam się, że gdyby była wywołana z (&s) to *s oznaczałoby adres początku tablicy. Jak jest w tym wypadku?

#include <stdio.h>
#include <stdlib.h>
int printReverseString(char *s) {
char *cptr;
//...
}

int main()
{
char s[10];
scanf("%s", s);
printReverseString(s);
return 0;
}
 
1
void printReverseString(const char *s) 
  {
   const char *e=s;
   while(*e) ++e;
   while(--e>=s) putc(*e);
  }
0

Dzięki wielkie. ;) Program teraz działa. Ale czy mógłbym prosić o kilka słów komentarza? Szczerze mówiąc nie wpadłbym na użycie const i nie rozumiem zastosowania. No i dalej nie wiem czym jest "s" w tej funkcji. Wskaźnikiem, tablicą, adresem?

1

const być nie musi, ale raczej powinien być.
s - jest wskaźnikiem na początek napisu oraz tablicą znaków oraz adresem pierwszego znaku napisu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1