Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/06/2016, 13:01
ekis182
 
Fecha de Ingreso: octubre-2015
Mensajes: 17
Antigüedad: 8 años, 6 meses
Puntos: 0
uso de memoria dinamica para un noob o sea yo :D

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 :)