Dev - C++ - explicacion memoria dinamica

 
Vista:

explicacion memoria dinamica

Publicado por leidy (1 intervención) el 25/02/2006 23:36:30
hola.

soy estudiante de 2do de Ing de sistemas veo c++quisiera una breve orientacion sobre manejo de punteros, y variables dinamicas gracias..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:explicacion memoria dinamica

Publicado por felix maikel (9 intervenciones) el 26/02/2006 05:26:19
Para manipular un puntero debes tener bien definido los lugares donde vas a operar con el asi como sus movimientos.

Para declarar un puntero lo puedes hacer de la siguiente forma:

Sintaxis
<tipo>*nombre;

Ejemplo:

int*puntero; //Este es un puntero de tipo entero.

Deberas tambien asignarle memoria dinamica, puedes hacerlo de esta forma:

Sintaxis
<tipo>*nombre=new <tipo> //Declarado en ese momento

nombre=new <tipo> //Declarado en otra parte.

Ejemplo>

int*puntero=new int;

puntero=new int;
Puedes espesificar cantidades iniciales y despues variarla

Ejemplo:

Sintaxis
<tipo>*nombre=new <tipo>[cantidad]// Constituyen arreglos dinamicos

nombre=new <tipo>[cantidad]// Declarado antes
Ejemplo
int*puntero=new int[2];

puntero=new int[2];

Para eliminarlo puedes usar el delete
Sintaxis

delete nombre;

Ejemplo

delete puntero;

Asignar un puntero a otro (Tiene que ser del mismo tipo)
Sintaxis
puntero1=puntero2;
Ejemplo
numero1=numero2// Ya declarado los dos

int*numero1=numero2//Uno de ellos declarado;

Puntero vacio o nulo
Sintaxis
nombre=NULL;

Ejemplo

puntero=NULL;// Ya declarado

int*puntero=NULL;

Ejemplo de como usar un puntero como arreglo dinamico

class CPrueba
{
private:
int*numero;
int can;
public:
CPrueba()
{
cant=0;//Variable para controlar las posiciones y la cantidad de elementos que tengo
numero=new int[1];//Preparo una posicion en memoria
}
//Metodo que adiciona numeros
void Adicionar_Numeros(int n)
{
if(cant==0)
numeros[cant++]=n;
else
{
int*aux=new int[cant]//Arreglo auxiliar
for(int i=0;i<cantidad;i++)
aux[i]=numeros[i];
numeros=new int[cant+1]//Creo la posicion para el nuevo elemento
for(int i=0;i<cant;i++)
numeros[i]=aux[i];
numeros[cant++]=n;
delete aux;
}
}
};
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar