17.04.2013 Views

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

SHOW MORE
SHOW LESS

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).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!