vuoi
o PayPal
tutte le volte che vuoi
#include<iostream>
#include<conio.h>
#include<cmath>
#include<windows.h>
#include<time.h>
#include<cstdlib>
#include<stdio.h>
#include<iomanip>
#include<string.h>
#include<fstream>
using namespace std;
struct Prova
{ int a;
int b;
};
struct Prova2
{ int a;
int b;
};
struct Prova3
{ int *a;
};
void Alloca_Memoria( Prova *T);
void Alloca_Memoria2(Prova *&T);
Prova* Alloca_Memoria3(Prova *T);
void Alloca_Memoria4(Prova2 *&Ts,int s1);
void Alloca_Memoria5(Prova3 *&T3);
void Alloca_Memoria6(Prova3 *&T3);
main()
{ Prova *T;
Prova2 *Ts;
int s1=3;
int *x;
int k=3;
Prova3 *T3;
T=new (nothrow) Prova;
T->a=1;
T->b=2;
cout<<"base \n";
cout<<T->a<<" "<<T->b<<endl;
delete T;
//--------------------------------------------------------------------------------------
x=new (nothrow) int;
*x=4;// valore inizializzato di x
cout<<x<<" con solo x stampo l'indirizzo con *x stampo il valore = "<<*x<<endl;
x=&k;
cout<<x<<" ho assegnato l'indirizzo della variabile k int normale in una x puntatore
int x=&k; in questo modo k=3 "<<*x<<endl;
delete x;
//----------------------------------------------------------------------------------
cout<<"Test ritorno memoria 1 \n";
Alloca_Memoria(T);
cout<<T->a<<" "<<T->b<<"valori falsi contenuto inesistente o errato "<<endl;//
questo perchè non ritorna l'indirizzo
delete T;
cout<<"Test ritorno memoria 2 \n";
Alloca_Memoria2(T);
cout<<T->a<<" "<<T->b<<endl;// in questo caso i valori ritornano
delete T;
cout<<"Test ritorno memoria 3 \n";
T=Alloca_Memoria3(T);
cout<<T->a<<" "<<T->b<<endl;// in questo caso i valori ritornano
delete T;
cout<<"Test ritorno memoria 4 \n";
Alloca_Memoria4(Ts,s1);
cout<<Ts[0].a<<" "<<Ts[0].b<<endl;// in questo caso i valori ritornano
delete [] Ts;
//----------------------------------------------------------------------
Alloca_Memoria5(T3);
cout<<T3->a[1]<<endl;// in questo caso i valori ritornano
delete [] T3->a;
delete T3;
//---------------------------------------------------------------------
Alloca_Memoria6(T3);
system("pause");
}
void Alloca_Memoria(Prova *T)
{ T=new (nothrow) Prova;
T->a=12;
T->b=13;
cout<<"passagi dell'indirizzo genera elementi lavorabili solo nel sottoprogramma =
"<<T->a<<" "<<T->b<<endl;
}
void Alloca_Memoria2(Prova *&T)
{ T=new (nothrow) Prova;
T->a=17;
T->b=18;