Struktura (programowanie) - Google

Struktura (programowanie)

Z Wikipedii

(Przekierowano z Typ strukturalny)
Skocz do: nawigacji, szukaj

Struktura - typ danych w języku programowania.

Struktura jest typem zawierającym w sobie zmienne dowolnego typu (tzw. pola). Struktura umożliwia zapakowanie powiązanych ze sobą logicznie danych w jednym obszarze pamięci, który może być przesyłany jako jeden argument.

Spis treści

[edytuj] Struktura w języku C

/* deklaracja */
struct miasto {
    long ludnosc;
    char* rzeka;
};                         
/* definicja */
struct miasto Poznan;
Poznan.ludnosc = 600000;
Poznan.rzeka = (char*)malloc(sizeof(char)*6);
strncpy(Poznan.rzeka, "Warta\0", 6);    

Struktury w C mogą zawierać także pola zajmujące mniej niż 1 bajt. Aby zadeklarować takie pole, należy podać po dwukropku liczbę bitów.

struct liczba {
    unsigned int mlodszy_bajt :8;
    unsigned int starszy_bajt :7;
    unsigned int znak :1;
};

Pola bitowe mogą mieć typ int lub unsigned int. W tym pierwszym wypadku najstarszy bit będzie przeznaczony na znak danego pola.

Zobacz też: unia

[edytuj] Struktura w języku C++

Struktury w C++ są deklarowane tak jak w C, jednak oprócz pól mogą zawierać także funkcje (tzw. metody) i mogą dziedziczyć z innych klas i struktur.

Struktura różni się w C++ od klasy wyłącznie domniemanym zakresem widoczności jej pól i metod - dla klasy jest to private a dla struktur public. Używanie struktur zamiast klas nie jest jednak dobrą praktyką programowania, gdyż zaciemnia budowę programu.

/* deklaracja */
struct miasto {
    long ludnosc;
    char* rzeka;
    miasto(long ludnosc,char *rzeka): 
    ludnosc(ludnosc), rzeka(strdup(rzeka)) {}; /*konstruktor*/
    inline char* wez_rzeke() {return rzeka};
    ~miasto() {free( (void*)rzeka );} /*destruktor*/
};

[edytuj] Struktura w Matlabie

% definicja
Poznan.ludnosc = 600000
Poznan.rzeka = 'Warta'

[edytuj] Struktura w języku Fortran 90/95

! deklaracja
TYPE::miasto
  INTEGER(KIND=4)::ludnosc
  CHARACTER(20)::rzeka  
END TYPE miasto            
! definicja
TYPE(miasto)::Poznan
Poznan%ludnosc = 6000000
Poznan%rzeka = 'Warta'
! albo
Poznan = miasto(6000000,'Warta')

[edytuj] Struktura w Pascalu

{deklaracja}
TYPE miasto = RECORD
    ludnosc : longint;
    rzeka   : array[1..20] of char;
END;                       
{definicja}
VAR Poznan: miasto;
Poznan.ludnosc := 600000;
Poznan.rzeka := 'Warta';

[edytuj] Struktura w PL/1

W języku PL/1 deklaracja struktury zawiera wprost podany przez programistę poziom zagłębienia w hierarchii struktury w postaci liczby całkowitej umieszczonej przed nazwą pola. Struktury na poziomie 1 to niezależne od siebie obiekty programowe, natomiast każdy kolejny poziom deklaruje pola lub kolejne podstruktury zawarte w strukturze nadrzędnej. Zdefiniowana hierarchia struktury może być użyta w innej deklaracji dzięki użyciu frazy LIKE, kopiującej zdefiniowaną strukturę.

 dcl
 1 miasto,
   2 ludnosc fixed dec(7,0),
   2 rzeka char(20);
 ...
 miasto.ludnosc=6000;
 miasto.rzeka='Warta';

Gdańsk pożegnał pomorskich sportowców
28 sportowców z 12 klubów województwa pomorskiego reprezentować będzie Polskę w igrzyskach w Pekinie. Najwięcej z nich na co dzień reprezentuje AZS AWFiS Gdańsk. Przyszłych olimpijczyków pożegnano w czwartek w Akademii Wychowania Fizycznego i Sportu.
Stracił palec po meczu z Polską i nie zagra na IO
Chorwacki piłkarz ręczny Ivan Cupic stracił w czwartek palec, dzień po meczu z Polską, i nie wystąpi w igrzyskach olimpijskich w Pekinie.
Baltic Sailing Cup: mistrzowie świata liderami
Mistrzowie świata w żeglarskiej Formule 18, holenderska załoga Coen de Koning i Jeroen van Leeuwen startująca na katamaranie Nacra Infusion wygrała drugi etap regat Enea Baltic Sailing Cup na trasie Mielno-Ustka i umocniła się na pozycji liderów.
ATP: porażka Fyrstenberga i Matkowskiego
Marcin Fyrstenberg i Marcin Matkowski przegrali z Hiszpanami Feliciano Lopezem i Fernando Verdasco 2:6, 6:7 w pierwszej rundzie turnieju tenisowego ATP w Toronto.
W Sejmie o kierunku rozwoju COS do 2015 roku
Zewnętrzny audyt pomoże w profesjonalnym zweryfikowaniu perspektywnicznych planów rozwojowych Centralnego Ośrodka Sportu - poinformował posłów sejmowej komisji kultury Fizycznej i Sportu jego dyrektor naczelny Tadeusz Wróblewski przedstawiając informację na temat kierunków rozwoju Centralnych Ośrodków Sportu do 2015 roku.
Linki: Strona g³ówna