Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
7. Tipuri structurã <strong>în</strong> C<br />
Definirea de tipuri si variabile structurã<br />
Un tip structurã reuneste câteva variabile (numite “câmpuri”), având fiecare un<br />
nume si un tip. Tipurile câmpurilor unei structuri pot fi si sunt <strong>în</strong> general diferite.<br />
Definirea unui tip structurã are sintaxa urmãtoare:<br />
struct tag { tip1 c1, tip2 c2, ... };<br />
unde:<br />
“tag” este un nume de tip folosit numai precedat de cuvântul cheie struct (<strong>în</strong> C, dar <strong>în</strong><br />
C++ se poate folosi singur ca nume de tip).<br />
“tip1”,”tip2”,... este tipul unei componente<br />
“c1”,”c2”,... este numele unei componente (câmp)<br />
Ordinea enumerãrii câmpurilor unei structuri nu este importantã, deoarece ne<br />
referim la câmpuri prin numele lor. Se poate folosi o singura declaratie de tip pentru<br />
mai multe câmpuri. Exemple:<br />
// momente de timp (ora,minut,secunda)<br />
struct time {<br />
int ora,min,sec;<br />
};<br />
// o activitate<br />
struct activ {<br />
char numeact[30]; // nume activitate<br />
struct time start; // ora de incepere<br />
struct time stop; // ora de terminare<br />
};<br />
De remarcat cã orice declaratie struct se terminã obligatoriu cu caracterul ‘;’ chiar<br />
dacã acest caracter urmeazã dupã o acoladã; aici acoladele nu delimiteazã un bloc de<br />
instructiuni ci fac parte din declaratia struct.<br />
In structuri diferite pot exista câmpuri cu acelasi nume, dar <strong>în</strong>tr-o aceeasi structurã<br />
numele de câmpuri trebuie sã fie diferite.<br />
Declararea unor variabile de un tip structurã se poate face fie dupã declararea<br />
tipului structurã, fie simultan cu declararea tipului structurã. Exemple:<br />
struct time t1,t2, t[100]; // t este vector de structuri<br />
struct complex {float re,im;} c1,c2,c3; // numere complexe<br />
struct complex cv[200]; // un vector de numere complexe<br />
Printr-o declaratie struct se defineste un nou tip de date de cãtre utilizator.<br />
Utilizarea tipurilor structurã pare diferitã de utilizarea tipurilor predefinite, prin<br />
existenta a douã cuvinte care desemneazã tipul (struct numestr).