Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/11/2012, 17:00
Gaudy
 
Fecha de Ingreso: junio-2009
Mensajes: 84
Antigüedad: 15 años, 4 meses
Puntos: 2
Duda con asignacion con Malloc

Buenas, otra duda sencilla que no puedo responder, acá intentando asignar memoria a un arreglo de char y al parecer lo asigna mal, en que falla??

Tengo definida en una cabecera esta estructura que contiene un char
Código C:
Ver original
  1. #ifndef ESTRUCTURA_H
  2. #define ESTRUCTURA_H
  3.  
  4. struct input{
  5.     int prueba;
  6.     char** mensaje;     //habria que almacenarlo con malloc
  7. }str;
  8.  
  9. #endif

main.c
Código C:
Ver original
  1. int i;
  2.     str.mensaje = (char**)malloc(sizeof(char*)*72);
  3.     for(i = 0; i<72; i++){ str.mensaje[i] = (char*)malloc(sizeof(char)*2048); }
  4.  
  5.     printf("%d\n", sizeof(str.mensaje[2]));
Se supone que debería asignarse un tamaño 2048 para cada vector, pero en lugar de ello me imprime 8.

No se a que se debe este problema, alguien me podría aclarar en que me estoy equivocando??