Título: Duda con estructuras C Publicado por: David8 en 30 Abril 2014, 13:24 pm Si por ejemplo tengo la siguiente estructura de datos:
Código: struct nombre{ Esto lo entiendo; creo un array que contiene N estructuras. Ahora lo que quiero es hacer lo equivalente a lo anterior pero con un puntero. Yo he intentado esto, pero seguro que es erróneo: Código: struct nombre{ Espero que me puedan ayudar. Un saludo. Título: Re: Duda con estructuras C Publicado por: eferion en 30 Abril 2014, 13:35 pm "nombre" como tal no es nada... el identificador real es "struct nombre"
Código Título: Re: Duda con estructuras C Publicado por: rir3760 en 30 Abril 2014, 16:45 pm Solo agregar que en C la conversión explicita no es necesaria y si utilizas "sizeof *puntero" en la llamada a malloc:
Código Evitas indicar el tipo apuntado (lo que reduce errores lógicos). Un saludo Título: Re: Duda con estructuras C Publicado por: David8 en 30 Abril 2014, 17:21 pm Solo agregar que en C la conversión explicita no es necesaria y si utilizas "sizeof *puntero" en la llamada a malloc: Código Evitas indicar el tipo apuntado (lo que reduce errores lógicos). Un saludo Gracias por el detalle. Pero en este fragmento de programa: Código: #include<stdio.h> Me da error en Código: struct jugador *Jugador; Y no sé cual puede ser el fallo. Un saludo Solo agregar que en C la conversión explicita no es necesaria y si utilizas "sizeof *puntero" en la llamada a malloc: Código Evitas indicar el tipo apuntado (lo que reduce errores lógicos). Un saludo Perdona, ya vi que no funcionaba porque estaba definido como global. Pero no sé porque. Un saludo Título: Re: Duda con estructuras C Publicado por: rir3760 en 30 Abril 2014, 17:52 pm Porque cuando declaras una variable fuera de toda función (en tu caso "Jugador") y quieres darle un valor inicial este debe ser uno constante como 123 o "alguna cadena" (no puedes utilizar llamadas a función).
Un saludo Título: Re: Duda con estructuras C Publicado por: David8 en 2 Mayo 2014, 18:25 pm Porque cuando declaras una variable fuera de toda función (en tu caso "Jugador") y quieres darle un valor inicial este debe ser uno constante como 123 o "alguna cadena" (no puedes utilizar llamadas a función). Un saludo Esta duda la tengo porque estoy haciendo un programa que simule el juego del poker. Y relacionado con esto tengo lo siguiente: Código: typedef char* String; Y en esta última función me parece que falla el programa. Pero no sé que es. Lo que intento hacer es que cada uno de los 5 jugadores declarados con Código: Jugador = malloc(5 * sizeof(*Jugador)); Lo escribo aquí para no abrir un nuevo tema, ya que está relacionado con lo anterior. Un saludo Título: Re: Duda con estructuras C Publicado por: rir3760 en 2 Mayo 2014, 23:12 pm Falta entre otras cosas las directivas de inclusión y la declaración de la variable "Jugador", por favor publica el código fuente completo.
Un saludo Título: Re: Duda con estructuras C Publicado por: David8 en 5 Mayo 2014, 12:42 pm Falta entre otras cosas las directivas de inclusión y la declaración de la variable "Jugador", por favor publica el código fuente completo. Un saludo Ya lo solucioné. Es que tenía un for que en un caso particular del índice cambiaba su valor a 0 y esto hacía un bucle infinito. Muchas gracias por la ayuda, un saludo. |