[C con Clase] Array de cadenas de caracteres y paso de parámetros en C.

gmh2000 helder1986 en gmail.com
Jue Nov 27 19:09:47 CET 2008


/* Hola. No sé si estoy repitiendo el envío, pero es que no veo el mensaje enviado en el foro. De todas formas he conseguido que la cosa ande, aunque con la sulución que no me gusta (la de abajo del todo). Así, que este mensaje es más bien para aprender mejores formas. 

/* He intentado de varias maneras trabajar con arrays de cadenas en C y la cosa no funciona bien. Escribo nombres de funciones y variables para que pueda servir para todo el mundo en futuras ocasiones. Concreto: */



/* Declaración. También probé con [64][11]; */
char array_cadenas [][11];

for(i = 0; i <= numero_de_cadenas; i++)
{
array_cadenas[i][0] = cadena_x; /* ¿esta asignación es correcta? */
}

/* Siguiente función mostrará las cadenas introducidas por pantalla */
/* Diría que la función muestra sólo el primer caracter de la cadena correspondiente. También probé con &array_cadenas[j][0] */
for(j = 0; j <= numero_de_cadenas; j++)
{
funcionMuestraTexto(array_cadenas[j][0]);
}

/* De esta forma compila con ciertos warnings, como por ejemplo: assignment makes integer from pointer without a cast. Y el programa (pidgin) muestra las cadenas en "chino". Así que supongo que algo haré mal. */


/* ---------------------------------------------------------*/
/* También lo intenté trabajando con punteros */
char* array_de_cadenas[64];
array_de_cadenas[i] = cadena_x;

/* De esta manera compila sin warnings. El programa (pidgin) muestra alguna que otra cadena mal, pero no creo que tenga que ver con nada de esto. En cualquier caso esta forma me gusta menos porque precisamente lo que es variable es el número de cadenas y, lo que es fijo, es la longitud de cada una de ellas. */

/* ---------------------------------------------------------*/

/* Espero no marear a más de uno demasiado, jeje. Un saludo y gracias de antemano. */



Más información sobre la lista de distribución Cconclase