[quote=Tomash]Ojezu, kolejny “mądry” po Y3ti.
Arytmetyka nie obejmuje macierzy i działań na nich. Więc albo nie miałeś nigdy do czynienia ze wskaźnikami na wskaźnik (albo tablicą wskaźników), albo nie masz pojęcia czym jest algebra – którą odpowiedź wybierasz? :>[/quote]
Hmm ok, jeśli tak wolisz rozmawiać…
Spójrzmy sobie na amazona szukając po haśle “Pointer arithmetic”
- Dennis M. Ritchie (twórca języka C) używa pojęcia “arytmetyka wskaźników”
- Bjarne Stroustrup (twórca języka C++) używa pojęcia “arytmetyka wskaźników”
Szukając po haśle “pointer algebra” mamy na pierwszych miejscach zero pozycji o programowaniu w C. Ach może dlatego, że arytmetyka wskaźników nie ma nic wspólnego z macierzami?! No, ale Tomash przecież wie lepiej niż Ritchie. Tomash jest inżynierem i wszystko musi liczyć
Ja wiem, że pojęcia wskaźnik na wskaźnik (albo tablica wskaźników) mogą wydawać się niezrozumiałe i trudne w oczach studentów elitarnej uczelni technicznej, którzy zajęcia z programowania mają tak jakby przy okazji. Tam nikt książek o podstawach programowania nie czyta
Po pierwsze pamięć w komputerze jest płaska. Tam nie ma żadnych rzędów i kolumn, czy innych macierzy. Tablica wskaźników też nie jest żadną macierzą. Prosty przykład:
[code]#include <stdio.h>
int main()
{
char *array[] = {“Jeden”, “Dwa”, “Trzy”, NULL };
char **string = array;
while(*string) {
printf("%s\n", *string);
string++;
}
return 0;
}[/code]
Output:
Jeden
Dwa
Trzy
Masz swoją tablicę wskaźników i powiedz, gdzie tu jest macierz w/g Ciebie. Twoja tablica wskaźników, albo jak wolisz macierz ni cholery nie wygląda jak macierz. Nawet, gdy się ją zapisze w rzędach i kolumnach:
'J', 'e', 'd', 'e', 'm', '\n',
'D', 'w', 'a', '\n',
'T', 'r', 'z', 'y', '\n'
Panie, a gdzie tu dalej rozmawiać o wskaźnikach wewnątrz struktur, unii, czy dynamicznym alokowaniu pamięci…
Podsumowując:
“Więc albo nie miałeś nigdy do czynienia ze wskaźnikami na wskaźnik (albo tablicą wskaźników), (…)”, albo po prostu pierniczysz głupoty próbując odwrócić kota ogonem - którą odpowiedź wybierasz? :>
PS. Napisz jeszcze o tych podstawach matematycznych, które gdy zdobyłeś to dopiero mogłeś brać się za naukę programowania