C/Funcións: Diferenzas entre revisións

Contido eliminado Contido engadido
Gallaecio (conversa | contribucións)
Gallaecio (conversa | contribucións)
Liña 32:
 
Na definición dunha función, entre parénteses descríbense uns parámetros para a función. Ao chamar á función, fornécenselle uns datos ou variables cos que encher eses parámetros (argumentos). É dicir, ao definir unha funcións, na definición os parámetros son as variables cuxo valor inicial virá determinado polos distintos argumentos que se lle fornezan á función en cada chamada á mesma.
 
===Paso por valor e paso por referencia===
Á hora de pasarlle a unha función unha variable como argumento, pódese facer de dous xeitos: paso por valor, ou paso por referencia.
 
O caso máis común é o paso por valor. Neste caso, o que se lle pasa á función é o valor que contén a variable. Para pasarlle unha variable a unha función por valor, abonda con escribir o identificador da función. Ao executarse a función, esta crea unha nova variable cuxo identificador queda definido na [[{{PAGENAME}}#Definición dunha función|definición da función]], e ''inicialízaa'' co valor da variable que lle pasamos.
 
Porén, tamén e posible pasarlle a unha función, en vez do valor da variable, o seu enderezo na memoria. Neste caso, a función non recibe o valor que contén a variable, senón o enderezo na memoria. Dese modo, a función non traballará co valor, senón coa variable en si mesma, de xeito que poderá modificar a variable durante a execución da función. Isto é o que se coñece coma "paso por referencia". Para facelo, é necesario preceder o identificador da función do carácter <code>&amp;</code>.
<source lang=c>
funcion1(variable); // Aquí prodúcese un paso por valor.
funcion2(&variable); // Aquí prodúcese un paso por referencia.
</source>
 
==Declaración dunha función==