Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Spis pojęć

Ostatnio zmodyfikowano 2009-01-02 15:52
Autor Wiadomość
Jaszczomb
Temat założony przez niniejszego użytkownika
» 2009-01-02 13:07:46
Mam jeszcze jedno pojęcie do dokładniejszego wyjaśnienia.
Chodzi mi tutaj o "wskaźnik zmiennej" z lekcji http://kursy.ddt.pl/?LessonId=20
P-3201
DeBugger
» 2009-01-02 13:15:43
Wskaźnik - jak sama nazwa wskazuje wskaźnik wskazuje adres pierwszej komórki pamięci, przechowującej jakieś dane(inna zmienna).
P-3203
pekfos
» 2009-01-02 13:35:56
C/C++
int * a; //zmienna wskaźnikowa, ta może wskazywać
//tylko na zmienna typu 'int'
string * b // zmienna wskaźnikowa, ta może wskazywać tylko na
//ciąg znaków typu 'string'

double liczba = 24;
double * wskaznik; // zmienna wskaźnikowa 'double'
wskaznik = & liczba; // teraz wskaźnik wskazuje na zmienną 'liczba'
* wskaznik -= 14; // odejmujemy liczbę 14 od zmiennej
//na jaką wskazuje wskaźnik
//zmienną wskaźnikową należy wtedy poprzedzić znakiem *

/*
-aby utworzyć zmienna wskaźnikową piszemy typ zmiennej na
jaką ma wskazywać, gwiazdkę (*) i nazwę zmiennej wskaźnikowej.
-adres zmiennej przypisujemy wskaźnikowi tak jak liczbę zwykłej
zmiennej z tym wyjątkiem że adres zmiennej na jaką ma wskazywać
wskaźnik poprzedzamy znakiem &.
*/
P-3209
setless
» 2009-01-02 13:47:32
pekfos napisał:
C/C++
wskaznik -= 14; // odejmujemy liczbę 14 od zmiennej
//na jaką wskazuje wskaźnik
Wydaje mi się, że w Twoim zrozumieniu wskaźników jest pewna niepoprawność. Otóż ten zapis:
wskaznik -= 14
wcale nie zmienia wartości zmiennej na którą wskazuje owy wskaźnik. Zmienia on natomiast wartość wskaznika i przesuwa go o 14 bitów, o ile się nie mylę.

Mniemam że miałeś na myśli ten zapis:
* wskaznik -= 14
P-3210
pekfos
» 2009-01-02 16:01:48
rzeczywiście :D zapomniałem tego *
już poprawiam :)
P-3214
setless
» 2009-01-02 16:22:58
manfred napisał:
Nie wiesz - nie wypowiadaj się. Ten zapis zmniejsza wartość wskaźnika o 14*rozmiar wskazywanego typu (nie, nie sizeof(wskazywany typ)... sizeof zwraca rozmiar typu w wielokrotnościach rozmiaru typu char), w przypadku double jest to (na x86) 112 BAJTÓW...

yhm... nie wiem czemu napisałem bitów, w każdym razie miałem na myśli bajty. Moja wypowiedź nie była w całości niepoprawna, zaznaczyłem też, iż mogę się mylić. Przepraszam za zamieszanie i dziękuje za sprostowanie!
P-3215
Jaszczomb
Temat założony przez niniejszego użytkownika
» 2009-01-02 17:09:44
Dzięki za wyjaśnienie JCJ, mniejwięcej zrozumiałem :)
P-3220
DejaVu
» 2009-01-03 04:12:41
Manfred jak zwykle nie przebiera w słowach ;p miał dobre intencje, no ale nie zawsze wychodzi ;) Dobrze, że go poprawiłeś ale błędy można wytykać odrobinę delikantiej ;p
P-3289
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona