Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  


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


POINTERI

c

+ Font mai mare | - Font mai mic





DOCUMENTE SIMILARE

Trimite pe Messenger
TEHNICA BACKTRACKING - PREZENTAREA TEHNICII BACKTRACKING
O colectie de programe utile
Operatori logici pe biti
Probleme rezolvate in C la informatica
Liste dublu legate
Un tur rapid al C++Builder
Adaugarea unui element la sfarsitul listei liniare
Operatori de incrementare si decrementare
ARBORI
Initializarea vectorilor de caractere

TERMENI importanti pentru acest document

POINTERI

Un pointer este o variabila care pastreaza adresa unui obiect de tip corespunzator. Forma generala pentru declararea unei variabile pointer este:




tip * nume_variabila;

unde tip poate fi oricare din tipurile de baza admise in C, iar nume_variabila este numele variabilei pointer. Tipul de baza al pointerului defineste tipul variabilelor spre care indica pointerul.

Variabila pointer este o variabila de un tip special, aparte de tipurile char, int, float. Cuvantul cheie tip din declaratia unui pointer se refera la tipul de data spre care indica pointerul, nu la formatul in care se stocheaza efectiv o variabila pointer in memorie. Formatul in care se stocheaza o variabila pointer in memorie depinde de tipul de compilator care se foloseste, deci depinde in mare masura de tipul procesorului pentru care a fost proiectat compilatorul. O indicatie despre formatul in care se stocheaza o variabila pointer in memorie poate fi obtinuta prin tiparirea continutului unei variabile pointer (o adresa) utilizand printf() cu formatul %p.

Exemplu:

char *p;     /* pointer la caracter */

int *temps, *start; /* pointeri la intregi */

char *const q; /* pointer constant la caracter */

7.1. Operatori pointer

Exista doi operatori pointer speciali * si &:

Operatorul & este un operator unar care ofera (returneaza) adresa unei variabile (adresa operandului sau).

Operatorul * este complementarul lui &. Este un operator unar care returneaza valoarea variabilei plasata la adresa care urmeaza dupa acest operator.

Exemplu:

# include <stdio.h>



void main (void)

Spre exemplu, sa consideram portiunea de program:

short i, j; // i si j sunt ambele intregi scurti

short *p // p este pointer la tip intreg scurt

i = 123;

p = &i;

j = *p;

Sa presupunem ca zona de stocare a celor trei variabile arata astfel:

Dupa primele doua atribuiri

i = 123;

p = &i;

zona de stocare va arata astfel:

Continutul variabilei p (de tip pointer) va fi valoarea 1200, adica adresa variabilei i.

Instructiunea j = *p; copiaza un intreg scurt de la locatia 1200 in j, locatiile de memorie fiind acum ca cele din figura:






Politica de confidentialitate



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 448
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 2022 . All rights reserved

Distribuie URL

Adauga cod HTML in site