CATEGORII DOCUMENTE |
Structuri
O structura este, pragmatic vorbind, un grup de variabile reunite sub acelasi nume, ceea ce permite un mod convenabil de manipulare a unor date care au afinitati semantice intre ele. O declarare de structura formeaza un sablon care poate fi folosit pentru a crea structuri efective. In C, variabilele care fac parte din structura se numesc membri ai structurii. Uzual, membrii structurii se mai numesc si elemente sau campuri. Asa cum vom vedea mai jos, o structura poate incapsula si metode de prelucrare a datelor, daca programatorul doreste sa abstractizeze tipuri de date cu suport struct.
Sintaxa generala pentru declararea unei structuri este:
struct <Nume_generic>
<Variabila_1>,[.<Variabila_k>];
In cazul in care in definitia structurii este incapsulata si o metoda atunci la implementare se foloseste sintaxa:
<Tip returnat> <Structura>::<Nume functie>(<Lista de parametri>);
;
Pentru mai multa claritate se poate urmari exemplul de mai jos.
#include<stdio.h>
#include<conio.h>
typedef struct
TStud;
void TStud::setstud(char matr[],char num[],float med)
void main()
Dupa cum se vede deja, numele variabilei structurate, urmat de un punct si numele membrului permite adresarea acelui membru. Adica, in general vorbind:
<Variabila_structurata> . <Nume_membru>
In codul de mai jos se arata modul concret de declarare a unei structuri si de asociere a acestei declaratii cu un nume de tip prin intermediul cuvantului cheie typedef.
#include<conio.h>
#include<iostream.h>
#include<string.h>
void main()
TPers;
TPers pers;
strcpy(pers.nume,'Test typedef + struct..');
pers.salariu=1200000;
clrscr();
cout<<pers.nume<<'rn'<<pers.salariu;
getch();
In mod evident, structurile pot fi asociate si cu pointerii prin declaratii asemanatoare celor din codul alternativ de mai jos.
#include<conio.h>
#include<iostream.h>
#include<string.h>
void main()
TPers;
TPers *pers;
.alocare memorie pentru pers
strcpy(pers->nume,'Test relatie structura - pointer');
pers->salariu=1200000;
clrscr();
cout<<pers->nume<<'rn'<<pers->salariu;
getch();
O alta intrebuintare a structurilor o reprezinta posibilitatea de a defini campuri de biti. Campurile de biti sunt mecanisme cu ajutorul carora programatorul poate avea acces la continutul variabilelor pana la nivel de bit.
Sintaxa pentru definirea unui camp de biti este:
typedef struct
TOctet;
Tipurile pot lua una din valorile int, unsigned, signed, pentru majoritatea compilatoarelor.
ACampul de biti cu lungimea 1 este obligatoriu unsigned. A se vedea si exemplul de mai jos.
#include<stdio.h>
#include<conio.h>
#include<string.h>
typedef struct
TOctet;
TOctet Octet;
int nr=1;
int *pointer;
void main()
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 897
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved