Buenas gente.
Tengo un puntero al cual quiero alojar memoria dinamicamente, pero necesito saber si ya se alojo memoria o si va a ser la primera vez (para poder redimencionarlo)
¿hay forma de saber eso?
gracias
no hace falta saberlo... si lo declaras como NULL (en la declaracion), ya puedes redimensionarlo sin preocuparte.... cuando el puntero es NULL el realloc es como un alloc.
Muy bueno, gracias!
Otra preguntonta:
cuando quiero calcular el tamaño que debe tener el puntero al hacerle realloc hago lo siguiente:
sizeof(puntero) + sizeof(_tipoitem)
lo que me lleva a la pregunta:
sizeof(puntero) cuando puntero = null devuelve cero?
gracias!
puntero = NULL;
say (sizeof(puntero));
Son preguntas sencillas de fácil comprobación, pero lo se, da palo programarlo para algo tan simple (pero como llevas sin respuesta desde el día 10...).
Quote from: JaViS on June 10, 2013, 04:03:08 PM
Otra preguntonta:
cuando quiero calcular el tamaño que debe tener el puntero al hacerle realloc hago lo siguiente:
sizeof(puntero) + sizeof(_tipoitem)
lo que me lleva a la pregunta:
sizeof(puntero) cuando puntero = null devuelve cero?
gracias!
Yo creo que no te dará 0, por que lo que estás haciendo con el sizeof es que te de el tamaño de memoria que ocupa la variable "puntero", independientemente de cual sea el valor que contenga. A diferencia de una variable declarada como tipo básico (int, char, ...) los punteros ocuparán lo mismo independientemente del tipo de puntero.
Sería como hacer algo así:
int var;
...
var = 0;
sizeof(var); // no devolverá 0, sino el espacio que ocupa un INT en memoria.
Un saludo!
tienes toda la razon. gracias :)