06.05.2013 Views

CONTENIDO DE LA LECCIÓN 18

CONTENIDO DE LA LECCIÓN 18

CONTENIDO DE LA LECCIÓN 18

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!