Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/01/2012, 10:01
gonzo13
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Asignar cadena de caracteres en un case. C

Otra cosa que podrías hacer y que no desperdicia memoria, es que "palo" fuera un puntero a char y cuando supieses el nombre que tienes que asignar ("as", "picas", "treboles" o "corazones"), solicitases memoria dinámicamente y empleases sólo la memoria realmente necesaria.

Puedes crear una función que solicite memoria, almacene el nombre en la memoria solicitada dinámicamente y te devuelva la dirección de dicha zona de memoria. Puedes usar constantes (#define) para identificar los palos y las cadenas de caracteres. Por ejemplo:

Código C:
Ver original
  1. #define AS "As"
  2. #define PICAS "Picas"

También, para no llenar de números el código, yo usaría la definición de constantes.

Código C:
Ver original
  1. #define VALOR_AS 0
  2. #define VALOR_ PICAS 1

Usando, por supuesto, los nombres y los valores que tu elijas y con los que te sientas más cómodo.

Por último, recordarte que si usas este método, para conocer los tamaños de las cadenas puedes usar la función strlen().

Un saludo,
gonzo.