Duda con Vectores

Started by lord103, April 15, 2010, 04:53:59 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

lord103

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

Drumpi

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?
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

lord103

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

Drumpi

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 ;)
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

lord103