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

[C++] Wskaźniki na pole struktury

Ostatnio zmodyfikowano 2011-07-17 09:59
Autor Wiadomość
imralav
Temat założony przez niniejszego użytkownika
[C++] Wskaźniki na pole struktury
» 2011-07-17 09:50:03
Cześć!
Przejdę prosto do kodu:
C/C++
//wskaznik do struktury?
#include <iostream>

using namespace std;

struct klasa
{
    int ile_osob;
    int ile_chlopcow;
    int ile_dziewczyn;
};

int main()
{
    klasa trzeciaH = { 29, 23, 6 };
    cout << trzeciaH.ile_osob << " " << trzeciaH.ile_chlopcow << " " << trzeciaH.ile_dziewczyn << endl;
    int * wskaznik;
    wskaznik =& trzeciaH.ile_osob;
    int zmienna;
    * wskaznik = zmienna;
    cout << wskaznik << " " << zmienna << endl;
   
    return 0;
}

Czyli przypisuję zmiennej trzeciaH.ile_osob wartość 29. Tworzę wskaźnik wskazujący na adres tej zmiennej. Lecz potem wypisując wartość zmiennej, na którą on wskazuje nie otrzymuję 29. Co jest grane?

Dodatkowo, czy mogę w jakiś sposób pobrać adres całej struktury trzeciaH? Rozumiem, że byłby on taki sam jak adres pierwszej zmiennej, trzeciaH.ile_osob, tak?

Pozdrawiam,
imralav.
P-36129
SeaMonster131
» 2011-07-17 09:57:33
Nie wiem do końca czy o to chodziło, ale działa:
C/C++
int * wskaznik;

wskaznik = & trzeciaH.ile_osob;

cout << * wskaznik;
http://cpp0x.pl/kursy/Kurs-C++/Wskazniki/304
P-36130
imralav
Temat założony przez niniejszego użytkownika
» 2011-07-17 09:59:55
Błąd jest w tym fragmencie:
C/C++
* wskaznik = zmienna;

Co znaczy tyle, że do zmiennej wskazywanej przez 'wskaznik' przypisz wartość zmiennej 'zmienna', a jest to odwrotność tego, co chciałem osiągnąć. Głupi błąd, zagapiłem się ; )

Zamykam.
P-36131
« 1 »
  Strona 1 z 1