Tengo un buffer y quiero hacer una prueba para ver si el buffer tiene suficiente capacidad, es decir Encontrar la cantidad de elementos que puedo agregar al buffer.¿Cómo determinar el tamaño de un búfer C asignado?
char *buffer = (char *)malloc(sizeof(char) * 10);
Haciendo un
int numElements = sizeof(buffer);
no devuelve 10, cualquier idea sobre cómo puedo lograr esto?
¿De verdad le está haciendo una pregunta al interlocutor? Eso no es realmente por qué estamos aquí ... – Evert
@Jens Bueno, sé que sizeof() devuelve el tamaño correcto para literales y matrices de cadenas, pero ¿por qué? ¿Dónde está almacenada la información de tamaño? Por ejemplo, char * p = "hello" da el tamaño del puntero, char p [10] da el tamaño de diez. – Zebrafish
@Evert Estamos aquí para obtener respuestas, y él dio una respuesta. Plantear preguntas de seguimiento es un dispositivo educativo legítimo.Además, no creo que su pregunta merezca críticas porque la respuesta a su pregunta es la respuesta que acaba de dar, por lo que no está ocultando información. Supongo que se podría debatir la eficacia o el valor dejando "un ejercicio para el lector", etc., pero en este caso es bastante conciso y relevante. –