Structuri, Uniuni, Enumerare

Curs
7/10 (1 vot)
Conține 1 fișier: doc
Pagini : 12 în total
Cuvinte : 3225
Mărime: 18.32KB (arhivat)
Publicat de: Aurelian Alexa
Puncte necesare: 0

Extras din curs

STRUCTURI, UNIUNI, ENUMERARE

Structura grupeaza mai multe variabile de tipuri diferite sub aceleasi nume, notiunea se regaseste si sub numele de agregat, conglomerat. Câmpul de biti permite un acces usor la biti. Uniunea permite ca aceleasi zone de memorie sa fie definite ca doua sau mai multe tipuri de variabile.Enumerarea este o lista de constante întregi cu nume.

Structuri

Structurea este un grup de variabile de tipuri diferite reunite sub acelasi nume, ce pune la dispozitia utilizatorului un mod convenabil de pastrare a informatiilor legate între ele.

Declararea unei structuri creaza un nou tip de date ce poate fi folosit pentru a crea variabile de acel tip sau pentru a crea direct variabile de acel tip. Variabilele care fac parte din structura se numesc membri, elementele sau câmpurile structurii. Între membri structurii deobicei exista o legatura logica.

Spre deosebire de tablouri, fiecare element al unei structuri poate avea propriul sau tip care poate diferi de tipul oricarui alt element.

Forma generala a declararii unei structuri este:

struct nume – generic {

tip nume – membrul 1;

tip nume – membrul 2;

tip nume – membrul;

} lista_variabile;

unde:

- struct - este cuvânt rezervat, numele tipului de date;

- tip – este orice tip de data admis de C; nu trebuie sa fie acelasi pentru toate campurile;

- nume–generic – tipul dat structurii, optional;

- lista_variabile -este o lista de variabile de tip nume_generic daca apare sau anonim daca nu apare, este optionala;

- nume_membru i – este numele campului (membrului) i al structurii.

Nume_generic si lista_variabile sunt optionale, dar cel putin una apare. Daca nume_generic apare înseamna ca s-a creat un nou tip de date,. Daca lista_variabile apare inseamna ca s-au declarat variabile de tip structura, fara ca structura sa aibe tip( tipul structurii create este anonim).

Exemplu:

struct carte {

char nume_carte [30];

char nume_autor [40];

char editura [20];

long data_ap;

unsigned char ed;

} carte1, carte2;

Carte este tipul structurii, variabilele de tip structura sunt carte1 si carte2. Odata definit un tip de structura, se pot crea mai multe variabile de acel tip, folosind forma generala:

struct nume_generic lista_variabile;

Declaratia de mai sus se poate rescrie astfel:

struct carte {

char nume_carte [30];

char nume_autor [40];

char editura [20];

long data_ap;

unsigned char ed; //editia

} ;

struct carte carte 1, carte 2;

Deci nu este necesar sa se declare toate variabilele de tipul respectiv atunci cand este definita o structura. Variabilele se pot declara separat, pe masura ce apare necesitatea folosirii lor.

În cazul în care se stie exact variabilele de tip structura folosite în program, nume_generic poate lipsi. De exemplu daca programul va folosi doar variabilele carte1, carte2 si carte3 în cadrul programului putem declara structura astfel:

struct {

char nume_carte [30];

char nume_autor [40];

char editura [20];

long data_ap;

unsigned char ed;

float pret;

} carte1, carte2, carte3;

unde lipseste numele tipului structurii create.

Accesul la membrii structurii

Pentru a accesa un camp al unei structuri, trebuie specificate atat numele variabilelor de tip structura cat si numele campului, separate printr-un punct. Forma generala de acces la un membru:

Nume_variabila . nume_membru

Pentru structura si variabilele declarate mai sus putem realiza urmatoarele operatii:

- atribuirii de forma:

carte1 . data_ap = 1999;

carte2 . editura = “Teora”;

carte1 . nume_carte = “Programare în C”;

carte1 . pret = 12345.50;

- citirea unor campuri ale unei structuri :

scanf (“% ld %f %s “,&carte1.data_ap, &carte1.pret, carte1.editura);

gets (carte1.nume_carte);

- scrierea / afisarea unor campuri ale unei structurii:

printf (“ %ld %f %s “, carte1.data_ap, carte1.pret, carte1.editura);

- afisarea un caracter dintr-un camp:

printf (“ %c “, carte1.nume_autor [5]);

- atribuirea unei variabile a unui caracter dintr-un camp:

ch= carte1.nume_autor [5]);

- continutul unei variabile de tip structura poate fi asignat unei alte variabile de tip structura, dar de acelasi tip:

carte2 = carte1;

Preview document

Structuri, Uniuni, Enumerare - Pagina 1
Structuri, Uniuni, Enumerare - Pagina 2
Structuri, Uniuni, Enumerare - Pagina 3
Structuri, Uniuni, Enumerare - Pagina 4
Structuri, Uniuni, Enumerare - Pagina 5
Structuri, Uniuni, Enumerare - Pagina 6
Structuri, Uniuni, Enumerare - Pagina 7
Structuri, Uniuni, Enumerare - Pagina 8
Structuri, Uniuni, Enumerare - Pagina 9
Structuri, Uniuni, Enumerare - Pagina 10
Structuri, Uniuni, Enumerare - Pagina 11
Structuri, Uniuni, Enumerare - Pagina 12
Structuri, Uniuni, Enumerare - Pagina 13

Conținut arhivă zip

  • Structuri, Uniuni, Enumerare.doc

Alții au mai descărcat și

Tipuri de structuri de date în C-C++

Introducere Rareori avem nevoie de programe care prelucreaza date simple(numere întregi, numere reale, caractere). De cele mai multe ori...

Grilă sisteme informaționale de gestiune - Access

Adăugarea de câmpuri la o tabelă se face în modul de vizualizare:...... Previzualizare inaintea imprimarii Aplicarea unei restrictii de...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Baze de Date

3.Introducere in bd si sgbd-uri Definitie: Numim baza de date o colectie partajata de date aflata in interdependenta logica impreuna cu o...

Te-ar putea interesa și

Politică de dezvoltare urbană în România

În prezenta lucrare îmi propun să prezint situaţia dezvoltării urbane, atăt la nivelul Uniunii Europene, cât şi la nivelul naţional şi local. Am...

Politica comercială și relațiile comerciale ale Uniunii Europene

Termenul “politică” are un domeniu larg de definire, prezentând sensuri dintre cele mai diferite. Astfel, ca o primă abordare, se poate spune că...

Crearea unui sistem de telefonie mobilă în baza tehnologiei CORBA

Întroducere Orice construcţie are nevoie mai întâi de o bază. Aceasta nu e teoremă ci o axiomă. Şi pentru că de cum a fost pusă baza depinde...

Dreptul Fundamental la Protecția Datelor Personale la Nivelul Uniunii Europene

REZUMAT ŞI CUVINTE CHEIE Lucrarea intitulată „Dreptul fundamental la protecţia datelor personale la nivelul Uniunii Europene” este structurată în...

Sistemul instituțional al UE

1. Prezentarea cadrului instituţional Instituţiile Uniunii Europene au fost create pentru a da expresie unei apropieri din ce în ce mai reale a...

Invadarea Sferei Private a Cetățeanului de Către Stat

I. Cadrul general Necesitatea abordării unei astfel de tematici rezidă în importanța inerentă a problematicii propuse, a implicațiilor pe care...

Politici și Instituții financiar-bancare Europene

1. Economia financiară se distinge de alte ramuri ale ştiinţei economice prin concentrarea ei asupra…………………………………….. Completaţi spaţiul puncat de...

Laboratoare C++

1. Scopul lucrării Scopul lucrării este prezentarea tipurilor de date, noţiunii de expresie în limbajul C/C++, a operatorilor şi a modului de...

Ai nevoie de altceva?