Anteprima
Vedrai una selezione di 1 pagina su 5
Test uso puntatori a strutture Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

#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;

Dettagli
A.A. 2018-2019
5 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher antoniosuperportiere di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Piccialli Francesco.