shark31 napisał(a):
ale mi chodzi o to czy dobrze rozumiem jak to się odbywa. Bo samo "str" bez "*" oznacza adres komórki wskaźnika, a "*strp" oznacza wartość w jakiejś komórce.
No nie rozumiesz ,..... a wiesz dlaczego ? Bo nie doczytałeś nie poświęciłeś uwagi na dobre zrozumienie czym różni się DEFINICJA od DEKLARACJI
char * wsk;
co to jest ? .... wiesz ? .... to jest DEKLARACJA a nie że jak piszesz:
shark31 napisał(a):
"*strp" oznacza wartość w jakiejś komórce.
w ramach deklaracji gwiazdka oznacza, że to jest WSKAŹNIK rozumiesz ? ... to samo się tyczy argumentów w funkcji
fun( char * wsk );
tutaj też *wsk nie ma NIC WSPÓLNEGO ze wskazywaniem czegoś w pamięci, to jest TYLKO deklaracja wskaźnika jako argumentu. Poczytaj też czym różnią się argumenty formalne od aktualnych bo to też chyba się tobie jeszcze mocno myli
-------------------------------
reasumując, tutaj:
char *int_to_str(int val, char *str, int8_t fw, char znak_wiodacy)
*str
mówi tylko o tym, że do funkcji ma trafić wskaźnik, a wewnątrz samej funkcji już możemy go używać,
albo jako
*str - i dopiero teraz wskazuje on na jakąś komórkę pamięci
albo jako
str - i teraz jest to TYLKO adres argumentu w pamięci RAM
shark31 napisał(a):
Wieć tutaj przypisujemy adres "*str" jako wartość "*strp" tak?
Tutaj to ustalamy, że wskaźnik o nazwie strp - będzie miał wartość wskaźnika str - czyli na starcie funkcji jeden i drugi będzie wskazywał dokładnie na tę samą komórkę w pamięci RAM
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]