Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: lord103 on April 15, 2010, 04:53:59 AM

Title: Duda con Vectores
Post by: lord103 on April 15, 2010, 04:53:59 AM
buenas tengo una pequeña duda:

¿para crear un vector siempre se tiene que utilizar una variable fija o existe el comando new []? ¿y si existe como se usa?
gracias
Title: Re: Duda con Vectores
Post by: Drumpi on April 15, 2010, 12:07:05 PM
Un vector es un array unidimensional ¿no?
En ese caso, con declarar una variable y ponerle [] con el número del último índice ya lo tienes, ejemplo:
int mi_vector [8];
Crea una variable mi_vector con 9 posiciones (0-8).
También puedes hacer:
int mi_variable []=1,2,3,54,567,7,534,3;
Y tendrá esas posiciones y esa inicialización.

Ahora, si lo que quieres es hacer un vector variable de tamaño, primero necesitas un puntero:
pointer mi_puntero;
y luego asignarle memoria:
mi_puntero=alloc(45*sizeof(int));  //para la primera vez
mi_puntero=realloc(mi_puntero,77*sizeof(int));  //para las siguientes
Y ya accedes a cada posición como un vector normal:
suma=5+mi_puntero[4];

¿Era algo de eso?
Title: Re: Duda con Vectores
Post by: lord103 on April 15, 2010, 05:47:24 PM
Si gracias era eso,
creo que lo entiendo asi:
mi_puntero=alloc(45*sizeof(int)) con este comando se crea un array int de 45 posiciones.
creo que tengo que empezar a leer sobre manejo de memoria ;D
Title: Re: Duda con Vectores
Post by: Drumpi on April 16, 2010, 01:42:58 AM
Si, pero recomiendo en este caso declarar mi_puntero como:
int pointer mi_puntero;

Se puede hacer sin el int, pero no estoy seguro de los problemas que podría dar, más vale asegurarse ;)
Title: Re: Duda con Vectores
Post by: lord103 on April 16, 2010, 06:05:09 AM
ok, gracias.