Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:"— Μεταγράφημα παρουσίασης:

1 ΛΟΓ102: Τεχνολογία Λογισμικού Ι nickie@softlab.ntua.gr Διδάσκων: Νίκος Παπασπύρου http://www.softlab.ntua.gr/~nickie/TUC/log102/ 1Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Διαφάνειες παρουσίασης #5 4 Ορισμοί τύπων 4 Απαριθμήσεις 4 Δομές 4 Ενώσεις

2 2Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Ορισμοί τύπων u Συνώνυμα απλών τύπων typedef double real; real x, y; u Συνώνυμα σύνθετων τύπων typedef double vector [10]; vector v; for (i = 0; i < 10; i++) v[i] = i; typedef int * pointer; pointer p = &i;

3 3Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Απαριθμήσεις (enumerations) u Ο τύπος enum enum color_tag { GREEN, RED, BLUE, WHITE, BLACK }; enum color_tag c; c = GREEN; typedef enum { GREEN, RED, BLUE, WHITE, BLACK } color; color c = WHITE;

4 4Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Δομές (structures)(i) u Ο τύπος struct struct complex_tag { double re, im; }; struct complex_tag z; z.re = 1.0; z.im = -1.0; typedef struct complex_tag complex; complex z; complex zs [100];

5 5Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Δομές (structures)(ii) u Παράδειγμα complex complement (complex z) { complex result; result.re = z.re; result.im = -z.im return result; }

6 6Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Δομές (structures)(iii) u Παράδειγμα typedef struct { char firstName [30]; char lastName [50]; char phone [10]; int age; double salary; } record; record r [1000]; r[423].age = 32;

7 7Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Δομές (structures)(iv) u Παράδειγμα record * p; p = &(r[873]); (*p).salary = 200000; p->salary = 200000; for (i=0, p=r; i<1000; i++, p++) p->salary = 300000;

8 8Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Ενώσεις (unions) u Ο τύπος union union number_tag { int i; double d; }; union number_tag n; n.d = 1.2; printf("%lf\n", n.d); n.i = 42; printf("%d\n", n.i); printf("%lf\n", n.d); /* wrong! */


Κατέβασμα ppt "ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google