[C con Clase] problema

davis palacios palacios_davis en yahoo.es
Dom Feb 20 20:06:39 CET 2011


Hola.. seria alguien tan amable de orientarme para ver donde empiezo para 
aprender a programar con este programa.. soy nuevo y no se nada todavia... :-) 
gracias..




________________________________
De: Steven Davidson <srd4121 en njit.edu>
Para: Lista de correo sobre C y C++ <cconclase en listas.conclase.net>
Enviado: sáb,19 febrero, 2011 22:23
Asunto: Re: [C con Clase] problema

Hola Omar,

On 2/20/2011 1:05 AM, omar mendoza wrote:
> hola lista, tengo el siguiente problema
> 

[CORTE]

> al compilar me sale segmentation fault, en el debbuger truena en la
> inicialización pero no sé por qué. Cuando lo hago sin funciones, es
> decir, todo secuencial en el main me realiza todo sin problemas,
> alguien que me expilque por qué?

El problema es que no pasas el doble puntero, 'matriz', por referencia a estas 
funciones. Como en C no hay paso por referencia, tendríamos que copiar la 
dirección de memoria de 'matriz' como parámetro a las funciones. Recuerda que 
quieres modificar el valor en 'matriz', por lo tanto en C necesitas su dirección 
de memoria. Esto es,


void solicitar( float ***mat, const int m, const int n );
void inicializa( float **mat, const int m, const int n );
void imprime( const float ***mat, const int m, const int n );

Observa que en esta última función, 'imprime()', he puesto 'const' ya que no 
interesa modificar los números de coma flotante.

Por cierto, podrías usar la función estándar, 'memset()', declarada en 
<string.h>, para copiar el valor de 0 a todos los elementos de la matriz, en 
lugar de crear tu propia función 'inicializa()'.

Por último, deberías liberar la memoria que creaste, invocando 'free()'.


Espero haber aclarado la duda.

Steven


_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ



      
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20110220/3bb50864/attachment.html>


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