Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Structuri in C

c



+ Font mai mare | - Font mai mic



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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 897
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved