7.2.2. Dostęp do danych struktury
Za pomocą indeksowania struktury, możemy uzyskać dostęp do każdej wartości lub elementu pola struktury. W ten sam sposób możemy przypisać pewną wartość do każdego pola lub jego elementu. Przykłady w tym rozdziale będziemy rozpatrywać korzystając ze struktury przedstawionej na rys. 7.2.
paiient
'array
Rys. 7-2. Schemat struktury
Aby uzyskać dostęp do całego pola, należy dołączyć kropkę (.) tuż po nazwie macierzy struktury, a później dopisać nazwę pola:
>> str = patient(2).name str =
Ann Lane
Aby uzyskać dostęp do elementów wewnątrz pola, należy do nazwy pola dołączyć odpowiednie wyrażenie indeksujące. Oznacza to, że jeśli pole zawiera macierz, musimy użyć indeksowania macierzy; jeśli pole zawiera macierz komórek, użyjemy indeksowania macierzy komórek, itd.
>> n = patient(3).test(2, 2) n =
153
Użyjemy tych samych oznaczeń, aby przy pisać wartości polom stmktury, na przykład patient(3).test(2, 2) = 7;
Nie jest możliwe uzyskiwanie wartości pól dla wielu struktur wewnątrz macierzy za jednym razem. Oznacza to, żc musimy uzyskiwać wartości pól osobno dla każdego elementu wewnątrz macierzy struktury. Na przykład, aby wyświetlić wartość każdego pola name, musimy użyć pętli: for i = 1 : length(patient)
disp(patient(i).name);
end
Dostęp do wewnętrznych macierzy uzyskujemy dodając standardowe indeksy do nazwy macierzy struktury. Na przykład, poniższa linia powoduje utworzenie
91