• Nie Znaleziono Wyników

Programowanie proceduralne

N/A
N/A
Protected

Academic year: 2021

Share "Programowanie proceduralne"

Copied!
22
0
0

Pełen tekst

(1)

Programowanie proceduralne

INP001210WL

rok akademicki 2018/19 semestr letni

Wykład 4

Karol Tarnowski

karol.tarnowski@pwr.edu.pl A-1 p. 411B

(2)

• Struktury

– Definiowanie struktur

– Dostęp do składowych struktur – Wskaźniki

– Przykłady

Plan prezentacji

(3)

• Tablice pozwalają przechowywać wiele wartości, ale wszystkie muszą być tego samego typu

• Jeżeli chcemy przechowywać dane różnych typów dotyczące jednego obiektu możemy wykorzystać strukturę

Struktury

(4)

• Przykład dane dotyczące studenta:

– imię (tablica znaków),

– nazwisko (tablica znaków),

– numer indeksu (liczba całkowita), – rok studiów (liczba całkowita), – średnia ocen (liczba rzeczywista), – …

Struktury

(5)

• W celu korzystania ze struktury należy zdefiniować jej składowe

struct [etykieta struktury]{

definicja składowej;

definicja składowej;

...

definicja składowej;

};

Struktury

Definicja

(6)

• Przykładowa definicja struktury

reprezentującej punkt na płaszczyźnie 2D

struct point{

double x;

double y;

};

Struktury

Definicja

(7)

• Definicja struktury określa układ składowych w strukturze

• Zdefiniowanie struktury nie jest

równoznaczne z utworzeniem zmiennej

• Zmienne typu strukturalnego są

deklarowane analogicznie jak zmienne typów podstawowych

struct point a, b;

Struktury

Definicja

(8)

• Dostęp do składowych struktury uzyskuje się przy pomocy operatora . (kropka)

nazwaZmiennejStrukturalnej.nazwaSkładowej

Struktury

Dostęp do składowych

(9)

Struktury

Przykład

(10)

Struktury

Przykład

(11)

Struktury

Przykład

(12)

• Ze względu na to, że struktury mogą mieć duży rozmiar, korzystne może być

posługiwanie się wskaźnikami na struktury

• Korzystne może być przekazywanie struktur do funkcji przez adres

• Dostęp do struktur wskazywanych przez wskaźnik uzyskuje się operatorem ->

wskaźnikNaStrukturę->nazwaSkładowej (*wskaźnikNaStrukturę).nazwaSkładowej

Struktury

Wskaźniki

(13)

Struktury

Przykład

(14)

Struktury

Przykład

(15)

Struktury

Przykład

(16)

Struktury

Przykład

(17)

Struktury

Przykład

(18)

• Strukturę można inicjalizować,

umieszczając po definicji listę wartości początkowych

struct point a = {3.20, 2.00};

Struktury

(19)

• Można definiować struktury zawierające inne struktury

• Przykładowo informacje o trójkącie można przechowywać w strukturze zdefiniowanej następująco

struct triangle {

struct point v0;

struct point v1;

struct point v2;

};

Struktury

(20)

• Trzy pola można zastąpić tablicą struktur

struct triangle {

struct point vertices[3];

};

Struktury

(21)

• Podobnie można zdefiniować strukturę opisującą wielokąt

struct polygon { int n;

struct point * vertices;

};

Struktury

(22)

• Definiuj struktury, gdy chcesz zgrupować dane

• Zdefiniuj strukturę, zanim zadeklarujesz zmienną jej typu

• Dostęp do składowych uzyskuje się przy użyciu operatora . (kropka)

• Operator -> służy do odwoływania się do składowej struktury wskazywanej zmienną wskaźnikową

Absolutne minimum

Cytaty

Powiązane dokumenty

rok akademicki 2019/20 semestr letni..

• Funkcje wywołuje się pisząc jej nazwę oraz nawiasy klamrowe z argumentami przekazywanymi do funkcji.

• Podstawowym sposobem przekazywania zmiennych do funkcji jest przekazywanie przez wartość – funkcja nie zmieni.

Jeśli element wskazywany przez indeks jest większy od maksimum, to przypisz maksimum wartość elementu wskazywanego przez indeks 5.. • Przypisz maksimum_indeks

rok akademicki 2018/19 semestr letni.

rok akademicki 2017/18 semestr letni.

• Podstawowym sposobem przekazywania zmiennych do funkcji jest przekazywanie przez wartość – funkcja nie zmieni.

Jeśli element wskazywany przez indeks jest większy od maksimum, to przypisz maksimum wartość elementu wskazywanego przez indeks 5... • Przypisz maksimum_indeks