Programación General => C/C++ => Mensaje iniciado por: simple_user en Jueves 2 de Octubre de 2008, 17:11
Título: Problemas con longitud inicial de array
Publicado por: simple_user en Jueves 2 de Octubre de 2008, 17:11
Buenas!
Soy novato con c/c++ y a lo mejor mi duda es muy basica, pero no consigo asignar una longitud a un array. Lo hago de la siguiente forma:
Código: C++
int main()
{
int longitud =10;
char foo[longitud];
...
}
A la hora de hacer esto peta.. y nose porque. Sin embargo si en vez de poner el nombre de la variable entre [ ] pongo directamente el numero 10 va bien. Asi:
Código: C++
int main()
{
char foo[10];//va bien!
...
}
La pregunta es, como puedo hacer para que mi array tenga la longitud de una variable?
Título: Re: Problemas con longitud inicial de array
Publicado por: Eternal Idol en Jueves 2 de Octubre de 2008, 17:27
Usa memoria dinamica (malloc/free en C, new/delete en C++).
Título: Re: Problemas con longitud inicial de array
Publicado por: shakka en Jueves 2 de Octubre de 2008, 17:33
Cita de: "simple_user"
Buenas! La pregunta es, como puedo hacer para que mi array tenga la longitud de una variable?
con punteros
Título: Re: Problemas con longitud inicial de array
Publicado por: simple_user en Jueves 2 de Octubre de 2008, 17:35
Gracias por la ayuda! Ya lo he conseguido, pero tengo otra duda.
Para usar el new he hecho lo siguiente:
Código: C++
int max=10;
char* foo =newchar[max];
Y funciona, pero no entiendo porque he tenido que usar el "char*". Que significa el * ?
Gracias de nuevo ;)
Título: Re: Problemas con longitud inicial de array
Publicado por: Eternal Idol en Jueves 2 de Octubre de 2008, 17:37
Significa: puntero a.
Título: Re: Problemas con longitud inicial de array
Publicado por: simple_user en Jueves 2 de Octubre de 2008, 17:54
Gracias ;) Voy a ponerme a estudiar punteros a fondo, porque veo que es algo bastante importante en el c/c++.
Título: Re: Problemas con longitud inicial de array
Publicado por: m0skit0 en Viernes 3 de Octubre de 2008, 08:51
Cita de: "simple_user"
es algo bastante importante en el c/c++
En C/C++ no, en programación en general. Y no sólo "bastante importante", es FUNDAMENTAL