hola como les va? tanto tiempo :D , bueno fuera de nostalgias mi pregunta es la siguente.
Estoy empezando a leer sobre memoria dinamica en C pero la duda ea que si yo creeo un array de 20 caracteres pasados por puntero a la funcion malloc si sobrepaso esos caracteres el programa me muestra la basurilla que tienen las demas casillas .
para ser mas claro si la variable tiene 20 caractres malloc solo es dinamica en esos 20 caracteres o no? pongo ejemplo de mi duda
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){ // Nivel 8 ej 1
char *p_md;
char nombre[20];
int longitud;
strcpy(nombre , "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" );
longitud = strlen(nombre);
p_md = malloc((longitud + 1 )*sizeof(char));
strcpy(p_md , nombre);
printf("%s", p_md);
return 0;
}
desde ya gracias :)