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 */