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

Duda con asignacion con Malloc

Estas en el tema de Duda con asignacion con Malloc en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/11/2012, 17:00
 
Fecha de Ingreso: junio-2009
Mensajes: 84
Antigüedad: 15 años, 5 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??
  #2 (permalink)  
Antiguo 25/11/2012, 04:25
Avatar de ZeKi  
Fecha de Ingreso: noviembre-2012
Ubicación: Jaén
Mensajes: 61
Antigüedad: 12 años, 1 mes
Puntos: 6
Respuesta: Duda con asignacion con Malloc

Te imprime 8 porque lo que estás imprimiendo en el tamaño del dato que guarda el vector.

Etiquetas: asignacion, int, malloc
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 00:38.