Pointeri

Referat
9/10 (1 vot)
Conține 1 fișier: doc
Pagini : 4 în total
Cuvinte : 1478
Mărime: 25.39KB (arhivat)
Publicat de: Theodor Marginean
Puncte necesare: 6

Extras din referat

Tema laboratorului: POINTERI

Pointerii sunt variabile care au ca valori adresele altor variabile (obiecte). Din punctul de vedere al continutului zonei de memorie adresate, se disting urmatoarele categorii de pointeri:

q pointeri de date (obiecte) - contin adresa unei variabile din memorie;

q pointeri generici (numiti si pointeri void) - contin adresa unui obiect oarecare, de tip neprecizat;

q pointeri de functii (vor fi prezentati ulterior)- contin adresa codului executabil al unei functii.

Exemplu:

int x, y, ptr;

// ptr- variabila pointer catre un int; x,y-variabile predefinite, simple, de tip int

x=5; cout<<”Adresa variabilei x este:”<<&x<<’n’;

cout<<”Valoarea lui x:”<<x<<’n’;

ptr=&x; // atribuire: variabila ptr contine adresa variabilei x

cout<<”Variabila pointer ptr are valoarea:”<<ptr;

cout<<” si adreseaza obiectul:”<< ptr<<’n’;

y= ptr; cout<<”y=”<<y<<’n’; // y=5

x=4; cout<<”x=”<<x<<’n’; cout<<” ptr=”<< ptr<<’n’;

// x si ptr reprezinta acelasi obiect, un intreg cu valoarea 4

x=70; // echivalenta cu ptr=70;

y=x+10; // echivalenta cu y= ptr+10

Variabilele pointer, alaturi de operatorii de referentiere si de deferentiere, pot apare în expresii.

Exemple:

int x, y, q; q=&x;

q=8; // echivalenta cu x=8;

q=&5; // invalida - constantele nu au adresa

x=9; // invalida - x nu este variabila pointer

x=&y; //invalida: x nu este variabila pointer, deci nu poate fi folosita cu operatorul de indirectare

y= q + 3; // echivalenta cu y=x+3;

q = 0; // seteaza x pe 0

q += 1; // echivalenta cu ( q)++ sau cu x++

int r; r = q;

/* copiaza continutul lui q (adresa lui x) în r, deci r va pointa tot catre x (va contine tot adresa lui x)*/

double w, r = &w, r1, r2; r1= &w; r2=r1;

cout<<”r1=”<<r1<<’n’; //afiseaza valoarea pointerului r1 (adresa lui w)

cout<<”&r1=”<<&r1<<’n’; // afiseaza adresa variabilei r1

cout<<” r1= ”<< r1<<’n’;

double z= r1; // echivalenta cu z=w

cout<<”z=”<<z<<’n’;

Exemplu:

void v1, v2; int a, b, q1, q2;

q1 = &a; q2 = q1; v1 = q1;

q2 = v1; // eroare: unui pointer cu tip nu i se poate atribui un pointer generic

q2 = (int ) v1; double s, ps = &s;

int c, l; void sv;

l = (int ) sv; ps = (double ) sv;

(char ) sv = 'a'; /*Interpretare: adresa la care se gaseste valoarea lui sv este interpretata ca fiind adresa zonei de memorie care contine o data de tip char. */

Exemplu:

int a, pa, pb;

cout<<”&a=”<<&a<<’n’; pa=&a; cout<<”pa=”<<pa<<’n’;

cout<<”pa+2”<<pa+2<<’n’; pb=pa++; cout<<”pb=”<<pb<<’n’;

int i=pa-pb; cout<<”i=”<<i<<’n’;

Preview document

Pointeri - Pagina 1
Pointeri - Pagina 2
Pointeri - Pagina 3
Pointeri - Pagina 4

Conținut arhivă zip

Te-ar putea interesa și

Realizarea unei Baze de Date cu Ajutorul Limbajului C

1.Introducere Limbajul C s-a impus în principal datoritã existentei unui standard care contine toate facilitãtile necesare unui limbaj pentru a...

Conectarea Microprocesorului I8086 la Memorie de Tip Rom și Ram

1 Arhitectura internă a microprocesoarelor din familia Intel pe 16 biţi În general când se vorbeşte despre un microprocesor (µP) se înţelege că...

Alocare dinamică - Turbo Pascal

ALOCAREA DINAMICA A MEMORIEI 1. INTRODUCERE Memoria RAM este împartita în locatii de memorie. Fiecare locatie memoreaza un octet (8 biti) si are...

Cercetări marketing - laser pointer

Problema decizională Lansarea noului laser pointer “Genius” pe piaţa din România. Obiectivele cercetării: Pornind de la problema decizională...

Tipuri de date - pointeri

Multimea de valori ale tipului predefinit de date pointer(indicator) consta din adrese şi valoarea specială nil. Însă, spre deosebire de tipurile...

Algoritmi și Structuri de Date

Modulul 0. Alocare dinamica in limbajul C Capitolul 0. Pointeri si alocare dinamica. Tipul de date struct 0.1 Pointeri si alocare dinamica O...

Referințe și pointeri

In C++ exista doua modalitati de lucra cu adrese de memomorie: pointeri si referinte. Pointeri Pointerii sunt variabile care contin adresa unei...

Pointeri

POINTERI Pointerul este o variabila care contine o adresa de memorie. Aceasta variabila contine adresa unei variabile. Avantajele utilizarii...

Ai nevoie de altceva?