rozdz. 15.1 inaczej deklarowana zmienna typu strukturalnego niż w rozdz. 14
Ostatnio zmodyfikowano 2010-01-22 16:12
marek Temat założony przez niniejszego użytkownika |
rozdz. 15.1 inaczej deklarowana zmienna typu strukturalnego niż w rozdz. 14 » 2010-01-22 13:29:53 zmienna "struktura" typu strukturalnego w p. 15.1 deklarowana jest: struct { int liczba; long long duzaLiczba; } struktura; To działa, ale w/g rozdz. 14 dot. struktur zmienna "struktura" powinna być deklarowana: struct struktura { int liczba; long long duzaLiczba; }; I to nie działa Why? |
|
marek Temat założony przez niniejszego użytkownika |
Tu może być pies pogrzebany » 2010-01-22 13:53:10 "struktura" nie jest zmienną tylko typem zmiennej!
Tak jak w "int i;" wyrażenie "int" nie jest zmienną.
Ale może ktoś mi wytłumaczy dlaczego przykład 15.1 działa w stosunku do typu "struktura" (podaje adres tego tworu). To tak jakbym dla zmiennej "i" podawał adres "int". |
|
marek Temat założony przez niniejszego użytkownika |
zapiszę przykład 15.1 używając deklaracji struktury takiej jak w rozdz. 14 » 2010-01-22 15:12:11 Po modyfikacji przykładu 15.1, używając znanej mi deklaracji struktury z rozdz. 14, będzie działało. #include <iostream> #include <conio.h> using namespace std; int main() { int zmienna1 = 213; int tablica[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; struct struktura { int liczba; long long duzaLiczba; }; struktura zmienna; cout << "Adres zmienna1=" <<& zmienna1 << endl << endl; cout << "Adres tablica=" <<& tablica << endl; cout << "Adres tablica[0]=" <<& tablica[ 0 ] << endl; cout << "Adres tablica[1]=" <<& tablica[ 1 ] << endl << endl; cout << "Adres struktura=" <<& zmienna << endl; cout << "Adres struktura.liczba=" <<&( zmienna.liczba ) << endl; cout << "Adres struktura.duzaLiczba=" <<&( zmienna.duzaLiczba ) << endl; getch(); return( 0 ); } To |
|
Elaine |
» 2010-01-22 16:12:49 Taki kod: struct { int a; float b; } foo; powoduje utworzenie zmiennej foo typu anonimowego. Właśnie dlatego po definicji struktury trzeba zawsze dawać średnik - wolno zrobić: struct blah { } aaa, * ccc; blah bbb; aaa i bbb to normalne zmienne typu blah, a ccc to wskaźnik na blah. |
|
« 1 » |