Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Crear tabla multidimensional dinámicamente dentro de una función

Estas en el tema de Crear tabla multidimensional dinámicamente dentro de una función en el foro de C/C++ en Foros del Web. Hola, tengo definido el código que construye, en C y correctamente, una tabla multidimensional de cadenas de forma dinámica usando malloc. Ahora mi problema es ...
  #1 (permalink)  
Antiguo 10/12/2012, 13:43
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 16 años, 3 meses
Puntos: 6
Crear tabla multidimensional dinámicamente dentro de una función

Hola,

tengo definido el código que construye, en C y correctamente, una tabla multidimensional de cadenas de forma dinámica usando malloc. Ahora mi problema es que quiero llevarme ese código a otra función auxiliar para ganar en legibilidad del código pero no lo consigo.

El código que quiero trasladar es el siguiente:

Código C:
Ver original
  1. #define NUM 2
  2. #define TAM 3
  3. #define NOMBRE "nombre"
  4.  
  5. char ** nombres = NULL;
  6. int error = 0;
  7.  
  8. nombres = ( char ** ) malloc ( NUM * sizeof ( char * ) );
  9.  
  10. if ( nombresLigas != NULL )
  11.   {
  12.  
  13.       for ( i = 0; (i < NUM_LIGAS) && (error = 0); i++ )
  14.         {
  15.             nombres[i] = ( char * ) malloc ( ( TAM + 1 ) * sizeof ( char ) );
  16.             if(nombres[i] != NULL)
  17.             {
  18.                strcpy(nombres[i], NOMBRE);
  19.                printf ( "Nombre: %s \n", nombres[i] );
  20.             }
  21.             else
  22.             {
  23.                error = 1;
  24.             }
  25.          }
  26.   }

Además, si quiero usar nombres distintos para cada espacio generado, ¿debería usar un enumerado?

Muchas gracias,
gonzo
  #2 (permalink)  
Antiguo 11/12/2012, 00:39
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 13 años
Puntos: 94
Respuesta: Crear tabla multidimensional dinámicamente dentro de una función

Hola! Lo que podes hacer es poner todo ese codigo en una funcion, por ejemplo:

Código C:
Ver original
  1. char **creaMatriz(  ) {
  2. ......... /* codigo */
  3. }
si todo salio bien retornas la matriz dinamica, y si hubo un error retornas NULL.


Saludos
  #3 (permalink)  
Antiguo 11/12/2012, 05:34
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: Crear tabla multidimensional dinámicamente dentro de una función

Gracias cesar_casla.

Etiquetas: int, multidimensional, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:42.