-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consulta Ej. 20 Guia 7 (Resolución cátedra) #83
Comments
Usa el auxAlum para no pisar alumAprob y asi no perder la referencia en caso de que el realloc falle. Al no perder la referencia puede liberar la memoria previamente utilizada. En cuanto a la 2da pregunta todos los strings cte que definas, ya sean "hola", "tomas" o "" son direcciones de memoria que apuntan a la seccion readonly de tu programa en ejecucion entonces en definitiva pueden asignarse a cualquier puntero. Si no quedo claro intento ir en mas detalle :D. |
Sisi me imaginaba que iba por ahí la primera parte, pero me hace ruido justamente porque después no lo hace (imagino que por el tema de que salvo en el final no hace falta chequear nada). Lo segundo se entendió joya, gracias che. |
Es para liberarla en el fallo osea cuando entra al if pq realloc le devolvio null o errno esta en ENOMEM |
Si bueno, pero el tema está en esta línea al final alumAprob = realloc(alumAprob, (cantAprob+1) * sizeof(char *)); Hay un caso en el que esta línea no estaría reduciendo, sino aumentando el tamaño en una posición, esto podría dar error y tendríamos que hacer lo mismo que arriba. Me llamaba la atencion que ahí no lo haga, pero supongo que fue porque en el primer caso fue en modo ilustrativo basandome en el comentario
|
Exacto, está como un ejemplo de hacer el realloc validando, guardando primero en una auxiliar. |
Programación defensiva 😅 |
Sólo de lunes a viernes en horario de oficina. |
Jajajsjsjs |
Dudas resolución cátedra
Dejo un par de dudas sobre la resolución que esta subida del ejercicio 20 guía 7.
char **
), me parece raro que funcionealumAprob[cantAprob] = "";
, ósea me parece raro poder asignarle una cadena constante en lugar de una dirección de memoria. Porque eso funciona?Código completo
The text was updated successfully, but these errors were encountered: