You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A menos que se especifique lo contrario, todas las primitivas de nuestras estructuras de datos (pila, lista, hash...) tienen como precondición que se les pasa como primer argumento un puntero válido a la estructura.
Esto es: para cada primitiva <tda>_<nombre_primitiva>(arg, ...), se da por hecho que arg es un puntero obtenido con <tda>_crear().
Esto incluye que el argumento sea un puntero no nulo; por tanto, en esta implementación:
boolpila_esta_vacia(pila_t*pila) {
if (pila==NULL||pila->cantidad==0) // XXX//...
}
la comprobación de NULL, sobra.
Además de ser pre-condición, este comportamiento tiene la virtud (que se hará visible, por ejemplo, durante el TP1) de se hace más fácil detectar errores: si se pasa NULL por error, un segmentation fault es más visible que un false que no se entiende de dónde viene.
The text was updated successfully, but these errors were encountered:
A menos que se especifique lo contrario, todas las primitivas de nuestras estructuras de datos (pila, lista, hash...) tienen como precondición que se les pasa como primer argumento un puntero válido a la estructura.
Esto es: para cada primitiva
<tda>_<nombre_primitiva>(arg, ...)
, se da por hecho que arg es un puntero obtenido con<tda>_crear()
.Esto incluye que el argumento sea un puntero no nulo; por tanto, en esta implementación:
la comprobación de NULL, sobra.
Además de ser pre-condición, este comportamiento tiene la virtud (que se hará visible, por ejemplo, durante el TP1) de se hace más fácil detectar errores: si se pasa NULL por error, un segmentation fault es más visible que un false que no se entiende de dónde viene.
The text was updated successfully, but these errors were encountered: