/*
EJEMPLO 11.2.
Reserva dinámica de memoria e inicialización.
Se reserva e inicializa memoria dinámica de un entero y de
un vector de enteros dinámico, visualizando los contenidos
*/
#include <iostream>
#include <cstring>
using namespace std;
int main(int argc, char *argv[])
{
// PARA EL ENTERO
int n;
int *v, *pEntero;
pEntero = new int(20); // reserva e inicialización de memoria
cout<<"*pEntero inicializado: "
<<*pEntero<<endl;
// Salida: *pEntero inicializado: 20
// PARA EL VECTOR
cout<<"Introduza dimension de v: ";
cin>>n;
// Salida: Introduza dimension de v: 18
v = new int[n]; // reserva dinámica no se puede inicializar
for(int i=0; i<n; i++){
v[i] = 10*(i+1); // rellenado del vector
}
cout<<"vector: \n";
for(int i=0; i<n; i++){
cout<<"v["<<i<<"]="<<*v++<<" "; // salida de datos con puntero
}
cout<<endl;
// PARA EL ENTERO Y VECTOR
delete pEntero; //Libera la memoria asignada
delete [] v; //Libera la memoria asignada
return EXIT_SUCCESS;
}