O structura este o colectie de date, eventual de tipuri diferite, care pot fi referite atat separat cat si impreuna. Definirea unei structuri se realizeaza cu ajutorul cuvantului cheie struct.
struct punct p;
sau
struct punct ;
struct punct p;
O declaratie de structura care nu este urmata de o lista de variabile nu produce alocarea de memorie ci descrie organizarea structurii.
Astfel am definit p ca fiind de tip punct, punctul fiind compus din doua elemente x i y, reale. Asupra elementelor unei structuri putem actiona prin intermediul operatorului de apartenenta '. ':
p.x=10;
p.y=30;
Exista posibilitatea efectuarii de operatii cu intreaga structura, atribuirea fiind una dintre ele:
p=;
Se pot face atribuiri de structuri:
struct punct p1;
p1=p;
Se defineste intai structura si apoi variabila matrice de acel tip de structura:
struct punct ;
punct hexagon[6];
Accesul la membrii componenti ai fiecarui element al vectorului se face prin combinarea celor doua
sintaxe: cea indexata, caracteristica masivelor si cea utilizata in cazul structurilor:
hexagon[i].x=10;
hexagon[i].y=30;
In cazul definirii unui pointer la o structura, accesul la componentele acestei structuri se face prin expresii
de forma:
punct *pptr;
pptr->x=10 //echivalent cu p.x=10;
(*pptr).y=30 //echivalent cu p.y=30;
//TEST 1
#include <stdio.h>
struct Persoana
;
void Spune_pers_val( Persoana p)
void Spune_pers_ptr( Persoana *p)
void Citeste_pers_ptr( Persoana *p)
Persoana Eu=;
void main()
Se citesc de la tastatura temperaturile inregistrate fiecare zi din luna decembrie. Se va crea un program care numara in cate zile ale lunii au fost temperaturi pozitive si de cate ori s-a schimbat semnul temperaturilor in decursul lunii.
//TEST 2
#include <iostream.h>
#define Nmax 31
int main ()
cout <<"nr de zile cu temperaturi pozitive" <<nrp<<endl;
cout <<"nr de schimbari de semn" <<nrs<<endl;
return 0;
|