Pointeri, adrese și valori: Diferență între versiuni
Sari la navigare
Sari la căutare
Fără descriere a modificării |
Fără descriere a modificării |
||
| Linia 1: | Linia 1: | ||
Acest scurt program demonstrează diferența și asemănările dintre operatorul de referențiere ''&'' (determinarea adresei unei variabile) și dereferețiere ''*'' (accesare variabilei de la o adresă) | Acest scurt program demonstrează diferența și asemănările dintre operatorul de referențiere ''&'' (determinarea adresei unei variabile) și dereferețiere ''*'' (accesare variabilei de la o adresă) | ||
<syntaxhighlight lang="C++"> | |||
#include <iostream> | |||
using namespace std; | |||
int a = 34; | |||
int main() { | |||
cout << "a se găsește la adresa &a: " << &a << endl; | |||
return 0; | |||
} | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="C++"> | <syntaxhighlight lang="C++"> | ||
Versiunea de la data 23 martie 2025 17:16
Acest scurt program demonstrează diferența și asemănările dintre operatorul de referențiere & (determinarea adresei unei variabile) și dereferețiere * (accesare variabilei de la o adresă)
#include <iostream>
using namespace std;
int a = 34;
int main() {
cout << "a se găsește la adresa &a: " << &a << endl;
return 0;
}
#include <iostream>
using namespace std;
int valA = 10;
int valB = 92;
int* ptr = &valA; //pointerul va avea valoarea de la adresa valA
int* ptr2 = NULL;
char* car;
uint16_t* uint16t;
float* flt;
int main() {
cout << endl;
cout << "ce chestie ! avem un pointer ptr cu valoarea: " << *ptr << endl;
cout << "dar adresa ptr este ptr: " << ptr << endl;
cout << "adresa val este &val: " << &valA << endl;
cout << "iar adresa unui pointer pointer NULL este ptr2: " << &ptr2 << endl;
cout << "iar adresa unui pointer char este car: " << &car << endl;
cout << "iar adresa unui pointer float este flt: " << &flt << endl;
// schimbăm adresa ptr
ptr = &valB;
cout << "adresa ptr este acum: &val: " << ptr << endl;
cout << endl;
cout << "====================================" << endl;
cout << "------- Dimensiuni variabile -------" << endl;
cout << "====================================" << endl;
cout << endl;
cout << "dimensiunea unui int este de " << sizeof(int) << " octeți" << endl;
cout << "dimensiunea unui float este de " << sizeof(float) << " octeți" << endl;
cout << "dimensiunea unui double este de " << sizeof(double) << " octeți" << endl;
cout << "dimensiunea unui char este de " << sizeof(char) << " octeți" << endl;
cout << "dimensiunea unui uint16_t este de " << sizeof(uint16_t) << " octeți" << endl;
cout << endl;
cout << "===================================" << endl;
cout << "------- Dimensiuni pointeri -------" << endl;
cout << "===================================" << endl;
cout << endl;
cout << "dimensiunea este unui int pointer este: " << sizeof(ptr) << endl;
cout << "dimensiunea char pointer este: " << sizeof(car) << endl;
cout << "dimensiunea uint16_t pointer este: " << sizeof(uint16t) << endl;
return 0;
}