Como he leído, realloc actuará como malloc si el tamaño apuntado es 0, lo estaba usando sin malloc(), siempre que el puntero fuera estático, global o explícitamente establecido en NULL si fuera automático.¿Es necesario un malloc() antes de un realloc()?
Sin embargo, veo que muchos programadores intentan configurarlo o configurarlo en malloc (1). ¿Es necesario?
Tenga en cuenta que la norma C99 para realloc con el tamaño 0 difiere ligeramente del estándar POSIX. El estándar C99 dice exactamente esto: * Si el tamaño del espacio solicitado es cero, el comportamiento es la implementación definida: se devuelve un puntero nulo o el comportamiento es como si el tamaño fuera un valor distinto de cero *. – JeremyP
Entonces, ¿se puede hacer "p = malloc (n)" seguido de "realloc (p, 0)" cuando p no es NULO? ¡Realmente no lo haría! Perdón por el formato – dubnde
Jeremy, ¿no está relacionado con el tamaño "solicitado"? ¿Qué tiene que ver con la reasignación del puntero anterior? –