Nove tipe, se pravi zaloge vrednosti, definiramo s pomočjo ukaza
typedef:
Tip z imenom celaStevila zgleda takole:
Zgoraj smo že omenili, da je opis lahko hkrati združen iz več opisov. Kot primer navedimo merilec krvnega pritiska. Krvni pritisk ponazorimo z dvema številkama. Na primer, zdrav, mlad človek ima krvni pritisk 110/75. Tako zalogo vseh vrednosti meritev krvnega pritiska (tip meritev krvnega pritiska) opišemo z 2 številoma oz. definiramo kot par:
typdef struct {
int spodnji;
int zgornji;
} tPritisk;
Sedaj lahko definiramo posamezne spremeljivke, ki ponazarjajo pritiske
posameznih ljudi. Na primer:tPritisk TomazevPritisk, JaninPritisk; TomazevPritisk.spodnji=80; JaninPritisk.zgornji=120;
Točke v večrazsežnostnem prostoru definiramo kot n-terice:
typdef struct {
int x; /* x - koordinata */
int y; /* y - koordinata */
} t_2DTocka;
double Razdalja (t_2DTocka a, t_2DTocka b) {
return sqrt ((ax - bx) * (ax - bx) + (ay - by) * (ay - by));
} / * Razdalja */
Iz definicije točke lahko izpeljemo definicijo trikotnika v ravnini:
typdef struct {
t_2DTocka A; /* prvo oglisče */
t_2DTocka B; /* drugo oglisče */
t_2DTocka C; /* tretje oglisče */
} t_Trikotnik;
In potem funkcija, ki izračuna obseg trikotnika:
double obseg (t.Trikotnik trik) {
double obseg;
obseg = 0;
obseg += Razdalja (trik.A, trik.B);
obseg += Razdalja (trik.B, trik.C);
obseg += Razdalja (trik.C, trik.A);
return obseg;
} /* Obseg */