CONTENIDO DE LA LECCIÓN 18

CONTENIDO DE LA LECCIÓN 18 CONTENIDO DE LA LECCIÓN 18

azul2.bnct.ipn.mx
from azul2.bnct.ipn.mx More from this publisher
06.05.2013 Views

MIGUEL Á. TOLEDO MARTÍNEZ // FUNCIÓN PROTOTIPO void raro(char arreglo[TAMANO_ARREGLO]); void main(void) { //DEFINE UN ARREGLO DE CARACTERES char nombre[TAMANO_ARREGLO]; //LLENE EL ARREGLO nombre CON CARACTERES nombre[0] ='I'; nombre[1] ='B'; nombre[2] ='M'; //MUESTRA EL ARREGLO nombre cout

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

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!