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

Wskaźnik do zmiennej w strukturze

Ostatnio zmodyfikowano 2011-06-29 17:21
Autor Wiadomość
yyy...mleko
Temat założony przez niniejszego użytkownika
Wskaźnik do zmiennej w strukturze
» 2011-06-29 13:22:33
Tworze strukturę:
C/C++
struct struktura
{
    int a;
    int b;
    int c;
    int d;
    int e;
};
//.....
struktura przyklad =
{
    8,
    16,
    32,
    64,
    128
};
//.....
oraz wskaźnik na ta strukturę :
C/C++
struktura * wsk =& przyklad;
I teraz moje pytanie: Jak dobrać się wskaźnikiem do każdej zmiennej w strukturze nie używając nazwy tej zmiennej?
Chodzi mi tu o coś takiego jak przy tablicach, że jak dodamy 1 do wskaźnika, to  wskazuję na kolejny element tablicy.
Może zobrazuje:
C/C++
cout <<( * wsk ) << endl; //wyświetla zmienna "a"
cout <<( * wsk + 1 ) << endl; //wyswietla zmienna "b"
o coś takiego mi chodzi, jak to zrobić ?
P-34912
npHard
» 2011-06-29 13:32:37
Spróbuj czegoś takiego:
C/C++
int * ptr =( int * )( & przyklad );
cout <<* ptr << endl; //wyświetla zmienna "a"
cout <<*( ptr + 1 ) << endl; //wyswietla zmienna "b"
chociaż to pewnie nie najładniejszy sposób programowania ; )
P-34914
yyy...mleko
Temat założony przez niniejszego użytkownika
» 2011-06-29 14:16:27
Działa, Bóg zapłać, ale mógłbyś wytłumaczyć?
int * ptr =( int * )( & przyklad );
P-34921
Mrowqa
» 2011-06-29 14:43:07
C/C++
int * ptr =( int * )( & przyklad );
// int * ptr  - definicja wskaźnika
// ( int * )  - stare rzutowanie ( w tym przypadku na obiekt 'wkaźnik do int'
// ( & przyklad ) - adres zmiennej 'przyklad' ( stąd znak '&' )
Rozumiesz już ?? :D

PS lepiej byłoby użyć nowego rzutowania
int * ptr = reinterpret_cast < int * >( przyklad );
 :)

Pozdrawiam,
Mrowqa
P-34924
yyy...mleko
Temat założony przez niniejszego użytkownika
» 2011-06-29 17:21:30
Dzięki, zamykam
P-34948
« 1 »
  Strona 1 z 1