[C con Clase] Duda con funcion (parámetros de entrada)

Mariano Demarchi marchi.hh en gmail.com
Dom Feb 5 17:07:27 CET 2012


Las variables locales se guardan en el stack. La reserva de espacio para
una variable local es simplemente un corrimiento del stack pointer, pero
salvo que se haya explicitado la inicialización no se hace asignación sobre
esas posiciones de memoria. Es por eso que esa memoria suele estar casi
siempre con restos del uso que se la haya dado al stack anteriormente.

Saludos

El 5 de febrero de 2012 12:23, Oscar Aparicio Holgado <
pelucheloko en hotmail.com> escribió:

> Se entiende la explicacion, pero...  de donde sale esa basura?
>
>
>
> -----Original Message-----
>
> From: Salvador Pozo
> Sent: 5 Feb 2012 15:14:21 GMT
> To: cconclase en listas.conclase.net
> Subject: Re: [C con Clase] Duda con funcion (parámetros de entrada)
>
> Hola:
>
> Por lo que parece no has captado correctamente el funcionamiento de los
> parámetros con valores por defecto.
>
> Los valores por defecto sólo se usan para los parámetros que se omiten en
> la llamada a la función, empezando por el final.
>
> Por ejemplo, si se invoca con dos parámetros:
>
> area = AreaCubo(largo, ancho);
>
> Los valores de los dos primeros parámetros se toman de los indicados: el
> valor de "largo" para el primer parámetro, y el de "ancho" para el segundo.
>
> El tercer parámetro tomará el valor por defecto, es decir, 1.
>
> Si se invoca con un parámetro:
>
> area = AreaCubo(largo);
>
> El valor del primer parámetro se toma del indicado: "largo". Los otros dos
> toman los valores por defecto para el segundo y tercer parámetro: 25 y 1.
>
> El problema es que has definido variables para usar como parámetros, pero
> sólo para ancho y alto has indicado un valor inicial, dejando el valor de
> largo sin definir.
>
> Así, en todas las llamadas donde indiques el valor del primer parámetro
> con la variable largo, que contiene basura, el resultado será impredecible.
>
> Hasta pronto.
>
> --
> Salvador Pozo (Administrador)
> mailto:salvador en conclase.net
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120205/0c661364/attachment.html>


Más información sobre la lista de distribución Cconclase