tutorial de c 11. invocar funciones Invocar una función es invitarla a

Anuncio
tutorial de c
11. invocar funciones
Invocar una función es invitarla a que se ejecute y eventualmente nos retorne el valor que
devuelve, si alguno. En lo que se ejecuta una función invocada conviene imaginar que las acciones
en la que invoca se detienen,, esperando el desenlace de la invocada.
La forma típica de invocar una función que retorna exactamente un valor es mediante una
asignación, esto es, asignando a una variable el valor retornado por la función invocada. Su formato
es.
var = función(parámetros);
Los parámetros son pasados a la función (si alguno) y el valor retornado es asignado a la variable. Si
la función no retorna valor de manera implícita con un return (y, por tanto se ha indicado al redactarla
que el tipo que retorna es vacío (void), sencillamente se invoca, sin asignar su valor.
función(parámetros);
Es claro que una función que retorna exactamente un valor puede constituir o formar parte de una
expresión, pero no cuando no retorna exactamente un valor mediante un return.
return En cualquier
caso, una función realiza una tarea relativamente simple de manera general.
Cuando un parámetro de una función es pasado por valor (que la función saca una copia local del
valor, pero que si lo cambia estos cambios no son vistos por la func
función
ión que la invoca), se puede usar
una constante, una variable y cualquier expresión válida que produzca un valor del tipo esperado por
la función.
Pero si el parámetro pasado a la función no es por valor, sino por referencia, hay que usar una
variable para lograrlo, y es claro que el valor de la variable pasada por referencia, si es cambiado por
la función invocada, tal cambio es acusado al regreso en la función que invoca.
Para indicar que un parámetro es pasado por referencia se usa el operador de indirección & delante
del nombre de la variable que constituye el valor pasado por referencia. Y para recibirlo (en la
redacción de la función invocada con el valor pasado por referencia) se usa el operador de
indirección * delante del nombre la variable y después del tipo correspondiente.
Si la función invocada forma parte de un librería estándar, hay que utilizar una sentencia #include
<librería.h> , en la cabecera del programa para que el compilador pueda encontrarla y encadenarla
al programa. Lo mismo aplica si la función ha sido incluida por el programador en una librería propia.
estándar
dar o propietaria, entonces los
Pero si la función es no está incluida en una librería, ya sea están
detalles del código de su redacción deben incluirse en el programa, ya sea primero que el código de
la función main(), o después de ésta, en cuyo caso se inserta primero una declaración o prototipo de
la función en la cabecera
ra del programa.
Para declarar una función, esto es, para indicar claramente que se va a usar en el programa y que
no está en una librería estándar, se usa el formato:
tipo nombre(parámetros);
Cuando la función no retorna exactamente un valor con rreturn,
eturn, el tipo se fija en void (vacío), como ya
se dijo. Para cada parámetro se puede omitir el nombre de la variable y es pecificar solamente el tipo
del parámetro.
Si el parámetro es pasado por referencia, entonces se coloca el operador * luego del tipo
tipo, si es
exactamente un valor, y un par de corchetes, [ ], en el caso de que sea una var
varia
iable vector, es decir,
que sean varios valores en una misma variable.
Al pasar una variable vector a una función no se usa ni el operador de indirección ni los corchet
corchetes.
Basta colocar el nombre de la variable vector (arreglo).
ecabrera, julio 2011
Descargar