0% found this document useful (0 votes)
2 views

Struct 2023

Tipul Struct

Uploaded by

SIMINA ASOFIEI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Struct 2023

Tipul Struct

Uploaded by

SIMINA ASOFIEI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Tipul de date ”struct”

1
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș
Tipul de date ”struct”
Este deosebit de utilă la memorarea, manipularea și prelucrarea unor
cantități mari de date de tipuri diferite (șiruri de caractere, numere sau I
alte structuri. Ex: evidența persoanelor, a rezultatelor unor examene,…
N
O structura (struct) este un tip de date definit de utilizator. Conține o T
R
colecție de date de tipuri diferite. Datele dintr-o structură sunt numite
componente, membri sau campuri.
O
Doar definirea unei noi structuri (struct) nu ocupă memorie ci creează un
tip nou de date. Doar variabilele incluse și declarate în structura D
respectivă, ocupă memorie. U
.Componentele (membrii/înregistrările) unei variabile de tipul unei structuri C
sunt alocate în memorie una după cealaltă (zona contiguă adică sunt
utilizate blocuri de memorie având adrese consecutive)
E
. R
.Operații permise: accesul la membri (variabila.camp), atribuiri pentru e
variabile de tip structură (B = A), obținerea adresei unei variabile
structură (&), determinarea dimensiunii unei structuri (sizeof(var_struct))

2
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș
Tipul de date ”struct”
C
= o colecție de date neomogene (de tipuri A
diferite) grupate sub un singur nume ce pot fi
Definiție manipulate și prelucrate ca un singur R
obiect/entitate
A
C
struct nume_structura (nume_structura e opțional dar…) T
{
Forma
{ E
generală
(declarare) tip_de_date nume_variabila1; R
tip_de_date1 nume_variabila2; I
tip_de_date2 nume_variabila3; S
................................................
tip_de_date nume_variabila_n; T
} I
nume_variabila_structura; C
I
3
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș
Tipul de date ”struct”
struct elev
{
int ani;
char nume[20], prenume[20]; D
} e;
float medieMate, medieInfo;
E
Exemplu de
declarare
A fost declarată o structură de date numită elev C
ce conține cinci câmpuri (membrii ai structurii).
Numele variabilei asociate structurii, este e iar L
câmpurile componente sunt:
- ani (tip de date int) A
- nume, prenume (tip de dată char)
- medieMate, medieInfo (tip de dată float)
R
A
Forma generală: R
nume_variabila_structura.nume_câmp;
Accesul la
(se indică numele variabile structură punct nume câmp)
E
câmpurile
structurii Exemple:
e.ani
e.prenume
e.nume
e.medieMate 1
etc.
4
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș
Tipul de date ”struct”
struct produs
{
int greutate;
char culoare[20]; D
};
float pret;
E
C
Exemplu de mar, banana, pepene; // trei variabile asociate structurii
declarare A fost declarată o structură de date numită produs
ce conține trei câmpuri: L
- greutate (tip de date int)
A
- pret (tip de date float)
- culoare (tip de date char) R
A
Forma generală: R
nume_variabila_structura.nume_câmp;
Accesul la (se indică numele variabile structură punct nume câmp) E
câmpurile
Exemple:
structurii mar.pret banana.greutate
pepene.pret banana.culoare 2
5
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș
Tipul de date ”struct”
struct produs
{ I
N
Exemplu de int greutate;
declarare și char culoare[20];
I
float pret;
inițializare };
mar={12, “rosu”, 7.5}, banana, pepene;
T
O variabilă de tip I
struct poate
inițializată înscriind
fi A
între acolade, L
separate prin
virgulă, valorile I
pentru fiecare Z
câmp. Înscrierea
valorilor se face în A
ordinea strictă în
1
care acestea apar
R
3
32
în definiție. e
6
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș
Tipul de date ”struct”
A
struct produs
{
C
Exemplu de int greutate; C
char culoare[20];
declarare float pret; E
};
mar, banana, pepene; // trei variabile, multiple; S

Exemplu de acces la L
câmpuri pentru A
citirea de la tastatură
a valorii
câmpurilor
C
A
Exemplu de acces la m
câmpuri pentru P
afișarea valorii U
câmpurilor R
i
7
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș
Tipul de date ”struct”
A
struct produs
{ C
Exemple de int greutate;
char culoare[20]; C
atribuiri și float pret; E
acces la };
câmpuri
mar1, mar2; // două variabile, multiple S
mar1.greutate=100;
mar1.pret=4;
mar2=mar1;
L
A
Unei inregistrări (variabilă de tip structură) i se poate atribui valoarea
unei altei inregistrări dar cu condiția de a fi de același tip
C
A
Asupra
m
câmpurilor
inregistrării pot P
fi efectuate 2 U
calcule 40 R
i
8
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș
Tipul de date ”struct”

Structura I
student, include o
(sub)structură
M
numită data. B
Structura
(prinicpală) I
student și
(sub)structura C
data, au asociate
ca variabile pe: s
A
și d R
E
Accesul la câmpuri se face
indicând succesiv și separat
prin operatorul binar – ce are 1
prioritate maximă - ”.” (punct):

structura.substructura.câmp

9
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș
Tipul de date ”struct”
A fost declarată
structura data ce
I
conține trei
câmpuri (an, zi,
M
luna). A mai fost B
declarată și
structura student I
ce include, două
câmpuri de tip char C
(nume, spec), un
câmp float (media) A
și un câmp de timp
data. R
E
Accesul la câmpuri se face
indicând succesiv și separat
prin operatorul binar – ce are 2
prioritate maximă - ”.” (punct):

structura.substructura.câmp

10
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș
Tipul de date ”struct”
V
A fost declarat un vector
numit e ale cărui E
elemente sunt de tip C
inregistrare, fiecare T
element al său conținând O
câmpurile nume și note la
R
cele trei discipine.
de

Accesul la câmpuri se face


I
indicând poziția inregistrării din N
vector și succesiv și separat prin R
operatorul binar – ce are E
prioritate maximă - ”.” (punct): G
structura[poz].câmp I
S
T
Afișare folosind R
indicele de poziție
A
din vectorul de
inregistrări R
i
11
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș
Tipul de date ”struct”

G
A
T
A
!

12
Liceul Teoretic ”Mihai Veliciu” – Chișineu-Criș

You might also like