/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

ARRAY SIN DEFINIR???

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
spesmod



Registrado: 23 Ago 2007
Mensajes: 33

MensajePublicado: 31/08/2007 9:31 am
Título: ARRAY SIN DEFINIR???

alguna ves lei que podemos declarar un array sin expresar su dimension [indice] y que despues podiamos meter tantos elementos como quisieramos; de esta forma:

int mat[];

eso quiere decir que ese array no tiene un limite y podemos almacenar los elementos que la ejecucion del progrma requiera; pero es eso cierto??? por que en mi ordenador sale error, algo asi como:
"el indice de la matriz debe ser diferente a zero o null"

y weno eso de meter indefinidamente elementos en un arreglo se puede hacer con punteros (kualkiera sabe eso) pero hay alguna forma de hacerlo sin punteros, osea simplemente declarando un array sin indice se puede¿?¿?¿? o algun indice especial que no me limite en numero de elementos del array¿?¿?¿?
-thanks.
_________________
|--A--Q--U--A--|
Volver arriba
Neodivert



Registrado: 20 Ago 2004
Mensajes: 60

MensajePublicado: 31/08/2007 9:46 am
Título:

No, no se puede definir un array de esa forma, si no pones un indice significa que tienes que declararlo en ese momento, de esta forma.

int mat[] = { 1, 2, 3 };

De esta forma no te tienes que preocupar de equivocarte poniendo el numero del indice, ya que al ponerlo así compilador te cuenta los elementos y él se encarga de poner el número del índice.
Volver arriba
v4r3t



Registrado: 06 Mar 2007
Mensajes: 38

MensajePublicado: 31/08/2007 9:53 am
Título:

Lo que dice Neodivert es definirlos tú mismo en el código fuente pero no sé si te refieres a eso o a declarar un array y poderle añadir los valores que quieras y cuantos quieras durante la ejecución del programa, lo que te supondría usar vectores dinámicos.
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3657
Ubicación: Mexico

MensajePublicado: 31/08/2007 6:19 pm
Título: Re: ARRAY SIN DEFINIR???

spesmod escribió:
alguna ves lei que podemos declarar un array sin expresar su dimension [indice] y que despues podiamos meter tantos elementos como quisieramos; de esta forma:
Código:
int mat[];

Esa declaracion es valida y se le conoce como una declaracion incompleta de un array (ya que se indica el tipo de los elementos pero no su numero).

spesmod escribió:
eso quiere decir que ese array no tiene un limite y podemos almacenar los elementos que la ejecucion del progrma requiera; pero es eso cierto?

No. En C la unica forma es mediante uso de funciones como malloc/calloc/realloc.

spesmod escribió:
por que en mi ordenador sale error, algo asi como:
"el indice de la matriz debe ser diferente a zero o null"

Ese mensaje de error no se genera por la declaracion incompleta sino por la falta de una definicion del array (una declaracion donde se indique el numero de elementos del array, opcionalmente sus valores iniciales y sin el uso de extern), por ejemplo:
Código:
int mat[10]; /* definicion */

/* o tambien */

int mat[10] = {1, 2, 3}; /* definicion */


spesmod escribió:
eso de meter indefinidamente elementos en un arreglo se puede hacer con punteros (kualkiera sabe eso) pero hay alguna forma de hacerlo sin punteros

No. Esa es la unica forma de hacerlo en C. En el caso de C++ puedes utilizar alguno de los contenedores genericos como la clase vector.

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com