Curs 9-Pointeri la variabile -Pointeri la siruri de caractere

Slides:



Advertisements
Prezentări similare
Miscari rectilinii si repaus
Advertisements

Asistenta sociala Activitatea de asistenta sociala presupune verificarea informatiilor privind identitatea cetatenilor, veniturile si patrimoniul.
Privatizari in pietele europene: aspecte strategice, financiare si legale Bucuresti, 26 Martie 2013 In colaborare cu.
ELECTRONICĂ II Notiţe de curs Cursul nr. 8
Relatii intre radacini si coeficienti (relatiile lui Viète)
Bazele Tehnologiei Informaţiei Curs 7
Algoritmii Dijkstra si Bellman-Ford pentru determinarea costului minim
Aplicaţii Calculaţi media aritmetică şi suma pătratelor numerelor 10, 12, 57, 23, 99 folosind caseta statistică a calculatorului. Calculaţi valoarea expresiei.
Determinarea divizorilor unui numar
-Algebra Relațională II-
Rețeaua Națională de Dezvoltare Rurală
Propunere dezbateri la nivelul sistemului de învățământ
Recapitulare – rezolvați următorul rebus:
Sistemul de pensii facultative - oportunitati si provocari 2008
Sisteme de calcul în timp real
Internet - notiuni generale
Tehnici de machetare ecran (tpz; atribMarci;)
Educație financiară Internet banking.
Structura sistemelor de calcul (03-5)
Universitatea Politehnica Bucuresti Anul universitar
GoPro.net Managementul proceselor de business si al documentelor aferente Integrator: CG&GC IT SA Partener: GoPro Ltd. Islanda 12 Aprilie 2005.
Birotica  Excel_2 C6 / Prezentare generală Ferestra Excel
TABELE.
Procesarea și optimizarea interogărilor
Facultatea de Informatică Universitatea “Al. I
.NET Framework Limbajul C#.
Competența face diferența!
Birotica  Excel_1 C5 / Prezentare generală Ferestra Excel
Conținut Matrice.
MEDIUL LIMBAJULUI DE PROGRAMARE STUDIAT
PROPRIETĂŢILE DETERMINANŢILOR
TOATE drepturile fundamentale pentru TOATE persoanele cu dizabilităţi!
Modelarea in VHDL a automatelor secventiale
Îmbunătăţirea proceselor ( CMMI )
Elementele de bază în Solidworks
Transmiterea veştilor proaste
Sisteme Încorporate Curs 2.
7 aprilie 2019 Ziua Mondială a Sănătăţii
Distribuit de.
Neprihănire, credință și faptele Legii Galateni 2:15-21
Organizarea informaţiilor pe disc
Generalități despre fișiere
MODULUL III: NOILE TEHNOLOGII SI OPTIMIZAREA LOR IN EDUCATIE
SORTAREA PRIN METODA BULELOR
2. Unitatea aritmetică și logică
Aplicații for Nivel - Inițiere.
S t r u c t u r i l i n i a r e  .
Optimizarea funcțiilor de pierdere. Algoritmul coborârii pe gradient.
Fonduri specializate si conturi administrate
ALGORITMI PENTRU SORTAREA UNUI VECTOR
Css 2.
TDA şir Structuri de date şi algoritmi -laborator-
Perspectivele implementarii SEPA in Romania
CONFERINTA in parteneriat cu SECTRA si
Cursul 7: Memorarea şi managementul informațiilor economice
Curs 10-Operatii cu pointeri -Pointeri la tablouri
Prezentare Unitate Centrala
Formularul 394 “Declaraţie informativă
Oleg VEREJAN, Preşedintele Asociaţiei de Actuariat din Moldova
Sisteme de operare în timp real Contiki
Introducere in Geoinformatica
în Word 5 moduri noi de a lucra Colaborați cu oricine, oriunde
Bine ați venit in cadrul Conventiei Primarilor pentru Clima & Energie Un angajament voluntar pentru a atinge indicatorii climatici si energetici.
Structura sistemelor de calcul (02-3)
TEORIA SISTEMELOR AUTOMATE
Sistemul de pensii facultative Oportunitati si provocari 2008
Tipuri de placi video,sunet si retea
Transcriere de prezentare:

Curs 9-Pointeri la variabile -Pointeri la siruri de caractere

Variabile si adrese Declararea variabilelor standard int i=10,k[5]; float x=2.0,z[20],y=5. Aceste variabile ocupa un spatiu de memorie dupa cum se poate observa in tabelul de mai jos:

Definirea pointerilor Pointer=o variabila care are ca si valoare o adresa de memorie Variabilele de tip pointer se pot clasifica in: Pointer la date=contine adresa unei variabile sau a unei constante Pointer la functii=contine adresa codului executabil al unei functii Pointer la obiecte=contine adresa unui obiect din memorie

Formatul de declarare al unui pointer: tip * nume; Tip=tipul de baza al pointerului , defineste tipul variabilei la care indica aceasta; poate fi orice tip de variabila Nume=numele variabilei pointer

Operatorii specifici pentru pointeri Operatorul de adresare(referentiere)=& (“adresa lui”) Operator unar care asociat unei variabile sau obiect, returneaza adresa de memorie a acelei variabile sau obiect !!!Dupa declarare pointerul trebuie initializat cu adresa unei variabile, altfel acesta nu poate fi utilizat

Operatorii specifici pentru pointeri Operatorul de indirectare(dereferentiere)=* (“de la adresa” ) Este un operator unar, complementar lui &, care returneaza valoarea inregistrata la adresa de memorie specificata

Operatorii specifici pentru pointeri Operatorul * nu trebuie confundat cu operatorul aritmetic de inmultire Operatorul & nu trebuie confundat cu operatorul & (AND) pentru biti Operatorii & si * au prioritate fata de toti operatorii aritmetici Intotdeauna tipul variabilei si tipul pointerului care indica catre adresa acelei variabile sunt aceleasi

Initializarea variabilelor pointer Dupa declararea pointerului trebuie specificat catre ce anume indica acesta, deoarece implicit nu indica nimic

Ex. Expresii de atribuire cu pointeri: #include <stdio Ex. Expresii de atribuire cu pointeri: #include <stdio.h> int main() {int x=1525, *p1,*p2; p1=&x; p2=p1; printf("p1= %p p2= %p\n",p1,p2);//afiseaza adresa lui x, nu valoarea sa! printf("x=%d\n",x); //afiseaza valoarea lui x printf(“x=%d”, *p1); //afiseaza valoarea lui x, echivalent printf(“x=%d”,*p2); return 0;} Efect: atat p1 cat si p2 indica spre x, specificatorul de format %p face ca printf() sa afiseze o adresa in formatul utilizat de calculator Rezultate afisate p1=0012FF78 p2=0012FF78 x=1525

Ex.2 Pointeri la caractere Ex.1 Pointeri la intregi #include <stdio.h> int main(){ int i1, i2, *p1, *p2; i1 = 5; p1 = &i1; i2 = *p1 / 2 + 10; p2 = p1; printf("i1 = %d, i2 = %d, *p1 = %d, *p2 = %d\n", i1, i2, *p1, *p2); return 0;} Ex.2 Pointeri la caractere int main() { char c = 'Q'; char *pc = &c; printf("%c %c\n", c, *pc); c = '/'; printf("%c %c\n", c, *pc); *pc = '('; printf("%c %c\n", c, *pc); Rezultate afisate i1 = 5, i2 = 12, *p1 = 5, *p2 = 5 Rezultate afisate Q Q / / ( (