Documente Academic
Documente Profesional
Documente Cultură
Câmpuri de biți
Limbajul C oferă posibilitatea de accesare a datelor la nivel de bit sau grupuri de biți.
Este posibilă specificarea lungimii câmpurilor care aparțin structurilor sau uniunilor de biți.
Câmpurile de biți sunt de tip întreg , cu sau fără semn și pot fi accesate individual.
Declarațiile câmpurilor de biți ce pot să apară numai în interiorul structurilor și
uniunilor
tip numeopt : lungime
tip – orice tip întreg cu sau fără semn, care specifică tipul câmpului de biți
nume - identificator ce prezintă numele câmpului de biți. Acest element este
opțional. Acestea sunt reprezentate în memorie, însă nu pot fi accesate. Cu ajutorul lor se
pot rezerva biții nefolosiți dintr-o unitate de alocare.
lungime – expresie constantă de tip întreg ce specifică lungimea câmpului de biți
Inițializarea structurilor
Câmpurile structurilor statice și ale celor externe sunt inițializate implicit cu o valoare
ce depinde de tipul lor. Pentru tipurile aritmetice valoarea implicită este 0, iar pentru
pointeri este NULL.
struct student{
char nume[20];
int an_studiu, varsta;
float bursa;
}
static struct student s1;
struct student s2 = {"Victor", 3, 21};
struct student s3 = {"Marius", 4, 25, 300};
struct student s4 = {"Andrei", 4, 26, 400, 3}; //err
struct student{
char nume[20];
int an_studiu, varsta;
float bursa;
struct data data_nasterii;
}
printf(„an:%d”, student.data_nasterii.an);
Probleme:
1. Să se optimizeze următoarea structură:
Structură care conține datele privind produsele de panificație: tip, greutate,
nr compozitie cereale (maxim 7), perioada valabilitate (maxim 3 luni), data
fabricatiei (zi, luna, an)
5. Se citește următorul fișier care conține 100 de valori separate prin virgulă (CSV –
Comma Separated Values). Valorile sunt după cum urmează:
Id, nume, salar, monedă. Să se citească aceste valori într-o structură și să se
ordoneze descrescător după salar și monedă.
Obs. Pentru citirea numelui se folosește următorul specificator de format:
%99[^,] unde 99 este lungimea șirului de caractere +1.
Link fișier:
http://cti.ubm.ro/pc/files/import.csv