jueves 16 de abril de 2009

CURSO FUNCIONES EN C. PASO DE ARGUMENTOS Y PUNTEROS (CUARTA PARTE)

Si a continuación asignamos un valor a la variable dato, éste se almacenaría en la dirección de memoria bffff120. En el caso de puntero, si le asignamos un contenido (la dirección de la variable dato), la dirección en memoria de la variabl e dato se almacenaría en la dirección 0012fed4. Supongamos que realizamos las sigguientes asignaciones:Negrita

dato= 99
puntero = &dato;

Debemos recordar que mediante el operador & obtenemos la dirección de una variable.

Una vez realizada la asignación anterior,disponemos de dos maneras de acceder al contenido de la variable dato. La primera forma de acceder es mediante el nombre de la variable y la segunda mediante el puntero que apunta a dicha variable. Para acceder a la variable dato mediante puntero, se utiliza el operador *.
Una utilidad del paso de argumentos por referencia se relaciona con la devolución de valores desde una función. Como ya sabemos, en C una función solo puede devolver un único valor. Sin embargo, a menudo se hace necesario que una función devuelva más de un valor, y aquí es donde podemos utilizar el paso de argumentos por referencia.
Además, la utilización del paso de argumentos por referencia nos permite ahorrar tiempo y espacio. En el caso que deseáramos pasar algo a una función cuyo tamaño sea grande, por ejemplo una estructura, seria conveniente pasarla por referencia, ya que si lo hacemos por valor, se tiene que realizar una copia de la misma y colocarla en la pila, lo que implica consumo de tiempo y espacio.
A
utor: Fundamentos de programación, de J.M.Molina y F.Chamorro, ed. McGraw-Hill.