Articles of malloc

Función para asignar dinámicamente la matriz

Quiero crear una función para asignar (con malloc / calloc ) una matriz declarada como un doble puntero. Entendí cómo funciona una matriz de doble puntero y cómo se asigna con malloc , pero cuando paso mi matriz (declarada en main() e inicializada a NULL ) mi progtwig se bloquea. Supongo que el error está […]

preguntas nuevas sobre malloc y sizeof

¿Puede alguien explicarme por qué mi llamada a malloc con un tamaño de cadena de 6 devuelve un tamaño de 4 bytes? De hecho, cualquier argumento entero que dé malloc me da un tamaño de 4. A continuación, bash copiar dos cadenas. ¿Por qué mi salida de la cadena copiada (NULL)? Lo siguiente es mi […]

¿Qué devuelve malloc (0)?

¿Qué devuelve malloc(0) ? ¿La respuesta sería la misma para realloc(malloc(0),0) ? #include #include int main() { printf(“%p\n”, malloc(0)); printf(“%p\n”, realloc(malloc(0), 0)); return 0; } Salida de linux gcc: manav@manav-workstation:~$ gcc -Wall mal.c manav@manav-workstation:~$ ./a.out 0x9363008 (nil) manav@manav-workstation:~$ La salida cambia constantemente para malloc(0) . ¿Es esta una respuesta estándar? ¿Y por qué alguien estaría […]

memoria máxima que malloc puede asignar

Estaba intentando averiguar cuánta memoria puedo malloc en su máquina (plataforma de 1 Gb RAM 160 Gb HD Windows). Leí que la memoria máxima que malloc puede asignar está limitada a la memoria física (en el montón). Además, cuando un progtwig excede el consumo de memoria a un cierto nivel, la computadora deja de funcionar […]

Sobreescribiendo ‘malloc’ usando el mecanismo LD_PRELOAD

Intento escribir una biblioteca compartida simple que pueda registrar llamadas malloc a stderr (una especie de ‘mtrace’ si lo desea). Sin embargo, esto no está funcionando. Esto es lo que hago: /* mtrace.c */ #include #include static void* (*real_malloc)(size_t); void *malloc(size_t size) { void *p = NULL; fprintf(stderr, “malloc(%d) = “, size); p = real_malloc(size); […]

¿Cómo se implementa malloc () internamente?

¿Alguien puede explicar cómo funciona malloc() internamente? A veces he hecho un strace program y veo muchas llamadas al sistema sbrk , haciendo que el man sbrk hable de que se usa en malloc() pero no mucho más.

Crear una función de envoltura para malloc y gratis en C

Oye, estoy intentando crear funciones de envoltura gratis y malloc en C para ayudarme a notificarme sobre las pérdidas de memoria. ¿Alguien sabe cómo declarar estas funciones así que cuando llamo a malloc () y libre () llamará a mis funciones personalizadas y no a las funciones lib estándar?

Diferencia entre el tipo de matriz y la matriz asignada con malloc

Hoy estaba ayudando a un amigo mío con un código C, y he encontrado un comportamiento extraño que no podía explicarle por qué estaba sucediendo. Teníamos un archivo TSV con una lista de enteros, con un int cada línea. La primera línea era la cantidad de líneas que tenía la lista. También teníamos un archivo […]

¿Cómo asignar dinámicamente el espacio de memoria para una cadena y obtener esa cadena del usuario?

Quiero leer la entrada del usuario que usa el progtwig C. No quiero usar array como, char names[50]; porque si el usuario le da una cuerda de longitud 10, entonces los espacios restantes se desperdician. Si utilizo el puntero del personaje como, char *names; entonces necesito asignar memoria para eso de tal manera de, names […]

¿Cómo usar una cadena C ++ en una estructura cuando malloc () – ing la misma estructura?

Escribí el siguiente progtwig de ejemplo, pero se bloquea con segfault. El problema parece ser con el uso de malloc y std::string s en la estructura. #include #include #include struct example { std::string data; }; int main() { example *ex = (example *)malloc(sizeof(*ex)); ex->data = “hello world”; std::cout <data << std::endl; } No puedo entender […]