Documente Academic
Documente Profesional
Documente Cultură
Laboratorul 9: Structuri
Dan Novischi
26 aprilie 2017
1. Introducere
Scopul acestui laborator este definirea s, i utilizarea structurilor ı̂n limbajul C.
Structurile ı̂n limbajul C reprezintă modalitatea prin care un programator poate să ı̂s, i defi-
nească s, i să utilizeze tipuri de date proprii. Acestea reprezentand un tip de date agregat mai
complex realizat pe baza tipurilor de date deja definite (cele cont, inute ı̂n limbaj precum:
int, char*... sau alte tipuri de date definite de utilizator). Sintaxa generică pentru definirea
unei structuri este următoarea:
1 struct nume_structura{
2 tip_camp1 nume_camp1;
3 tip_camp2 nume_camp2;
4 ...
5 tip_campn nume_campN;
6 };
unde definit, ia structurii ı̂ncepe ı̂ntodeauna folosind cuvantul cheie struct urmat de un nume
pentru structură. Un nume valid de structură, ca s, i ı̂n cazul numelor de variabile reprezintă
orice nume care ı̂ncepe cu o literă sau caracterul ” ” s, i poate cont, ine cifre.
1
2. Exemplu de program
1 /* Creearea si utilizarea unui tip care reprezinta
2 o data clendaristica.
3 */
4 #include <stdio.h>
5 #include <stdlib.h>
6
17 int main(void){
18 // Declaratie si intializare var locala (in place)
19 Date x = {25,12,1989};
20
24 y->zi = 25;
25 y->luna = 12;
26 y->an = 1989;
27
28 printDate(&x);
29 printf("\n");
30 printDate(y);
31
32 free(y);
33 return 0;
34 }
2
3. Cerint, e
Cerint, a 1 (1p) Sa se definească un tip structură pentru un numar complex format din
două numere reale (de tip float).
Cerint, a 2 (3p) Folosind tipul de date definit anterior implementati doua functii pentru
alocarea si de-alocare unui numar complex.
Cerint, a 3 (6p) Folosind tipul de date definit anterior implementati urmatoarele functii: