CONTENIDO DE LA LECCIÓN 18
CONTENIDO DE LA LECCIÓN 18
CONTENIDO DE LA LECCIÓN 18
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
MIGUEL Á. TOLEDO MARTÍNEZ<br />
void pasaPorValor(int elementoArreglo);<br />
El encabezado dice que la función no regresa ningún valor y espera recibir un valor entero desde el<br />
programa llamador. Suponga que se hace un llamado a la función como sigue:<br />
pasaPorValor(registros[0]);<br />
Observe que el argumento real en la llamada de la función es registros[0] Esto genera una copia del<br />
elemento almacenado en el índice [0] en el arreglo registros[] que será transferido a la función por valor.<br />
Como resultado, cualquier operación en este elemento dentro de la función no afectará el valor del<br />
elemento en el arreglo registros[] original. Si quiere que el elemento manifieste algún cambio dentro de la<br />
función, deberá pasarla por referencia usando el símbolo ampersand en la función prototipo, como ésta:<br />
void pasaPorReferencia(int &elementoArreglo);<br />
Ahora, cualquier llamada a la función pasará la dirección del elemento a la función, pasando de esta manera<br />
el elemento por referencia.<br />
Ejemplo <strong>18</strong>.19<br />
El siguiente programa muestra cómo los elementos de un arreglo pasan por valor o por referencia.<br />
/* El siguiente programa: PASVALREF.CPP, ilustra el uso de paso de elementos de un arreglo por<br />
valor y por referencia.<br />
*/<br />
#include // Para cin y cout<br />
//ENUNCIA EL TAMAÑO <strong>DE</strong>L ARREGLO<br />
const int TAMANO_ARREGLO = 3;<br />
//FUNCIONES PROTOTIPO<br />
void pasaPorValor(int elementoArreglo);<br />
void pasaPorReferencia(int &elementoArreglo);<br />
void main(void)<br />
{<br />
int registros[TAMANO_ARREGLO];<br />
registros[0] = 10;<br />
registros[1] = 20;<br />
registros[2] = 30;<br />
cout