problema info

4
Un program in C++ configureaza urmatoarea zona de memorie. Variabilele sunt pointeri de tip intreg. Scrieti programul si realizati corespondenta adreselor date in sistemul de numeratie zecimal cu adresele date de program in sistemul de numeratie hexazecimal. Pe cati octeti se scriu variabilele? De ce ne afiseaza valori diferite pentru aceiasi variabila? b a z y x *x **x ***x *y **y *z 2 1 2 2 2 2293484 2293488 2293492 2293496 2293500 - adresele variabilelor ***x = **y = *z = b = 2; (variabile de tip intreg) ***x = **y = *z = b; aplicam functia & (extrage adresa unui pointer); (&*)**x = (&*)*y = (&*)z = &b; functiile * si & sunt functii inverse – lasa obiectul asupra caruia actioneaza neschimbat; **x = *y = z = &b = 2293484; **x = *y (&*)*x = &*y *x = y &*x =&y x = &y *y =z &*y = &z y = &z **x = z *x = &z; **x = &b *(&z) =&b z = &b ; rezulta:

Upload: tzoopee

Post on 28-Sep-2015

212 views

Category:

Documents


0 download

DESCRIPTION

info

TRANSCRIPT

Un program in C++ configureaza urmatoarea zona de memorie. Variabilele sunt pointeri de tip intreg. Scrieti programul si realizati corespondenta adreselor date in sistemul de numeratie zecimal cu adresele date de program in sistemul de numeratie hexazecimal.Pe cati octeti se scriu variabilele?De ce ne afiseaza valori diferite pentru aceiasi variabila?

b a z y x *x **x ***x *y **y *z21222

2293484 2293488 2293492 2293496 2293500 - adresele variabilelor***x = **y = *z = b = 2; (variabile de tip intreg)***x = **y = *z = b; aplicam functia & (extrage adresa unui pointer);(&*)**x = (&*)*y = (&*)z = &b; functiile * si & sunt functii inverse lasa obiectul asupra caruia actioneaza neschimbat;**x = *y = z = &b = 2293484;**x = *y (&*)*x = &*y *x = y&*x =&y x = &y*y =z &*y = &z y = &z**x = z *x = &z; **x = &b *(&z) =&b z = &b ; rezulta: b a z y x *x **x ***x *y **y *z21229348422934922293496229349222934842229348422

2293484 2293488 2293492 2293496 2293500

23 August 2014 Profesor Vasilescu Dumitru#include using namespace std;

int main(){ cout