para metros por refer en cia a punt adores

Upload: alexandra-la-cruz

Post on 07-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    1/13

    COMPUTACIN ICOMPUTACIN I

    TEMA 6.TEMA 6.Pasaje de parmetros por Referencia.Pasaje de parmetros por Referencia.Uso de apuntadoresUso de apuntadores

    Prof. Mireya MoralesProf. Mireya Morales

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    2/13

    CONTENIDOCONTENIDO

    Paso de parmetros por valorPaso de parmetros por valor

    Funcionamiento de la memoria de unFuncionamiento de la memoria de un

    computador.computador.Apuntadores. Operador de direccinApuntadores. Operador de direccin

    Operador deOperador de indireccinindireccin..

    Pasaje de parmetros por referenciaPasaje de parmetros por referencia(usando apuntadores)(usando apuntadores)

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    3/13

    Paso de parmetros por valorPaso de parmetros por valor

    En el paso de parmetros por valor, estosno sern modificados una vez terminada laejecucin de la funcin. Se clasifican comoparmetros de entrada.

    En C todos los parmetros se pasan porvalor.

    Ejemplo

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    4/13

    Memoria del computadorMemoria del computador

    La memoria RAM se compone de un grannmero de celdas de informacindenominadas bytes.

    A cada una de estas celdas se le asigna unnmero de identificacin, que las distinguea unas de otras. Este nmero se conoce

    como direccin de memoria. La direccin de memoria sirve como

    identificador o referencia, la cual permite

    acceder a una celda especfica

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    5/13

    Memoria del computadorMemoria del computador

    Contenido

    Direccin

    0

    1

    2

    .

    .

    1 Bytes

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    6/13

    Memoria del computadorMemoria del computador

    Es importante recordar el concepto de

    variable, el cual se refiere a una zona dememoria reservada para almacenar un valorconcreto, perteneciente a un tipo de datos.

    Cualquier variable que se defina debe utilizaruna zona de memoria que ocupe un nmeroentero de bytes.

    Para acceder a una variable en memoria, elcompilador necesita disponer de: Nmero de bytes que la componen Direccin de memoria del byte inicial de la

    memoria

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    7/13

    Memoria del computadorMemoria del computador

    Letra1 bytes

    Nmero entero4 bytes

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    8/13

    Memoria del computadorMemoria del computador

    La direccin de memoria correspondiente al

    byte inicial de una variable, vienerepresentada por el nombre de dichavariable. El compilador ser el encargado de

    sustituir el nombre de dicha variable por sudireccin de memoria correspondiente,dentro del programa ejecutable final.

    Es importante destacar que en el ejemploanterior, los 4 bytes estn situados en celdasconsecutivas.

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    9/13

    Apuntadores. Operador de direccinApuntadores. Operador de direccin

    Un apuntador es un tipo de datos en C que a

    diferencia del resto, no almacena datos, si nodirecciones de memoria.

    Existen dos operadores que permiten trabajarcon apuntadores: el de direccin y el deindireccin.

    Es posible conocer la direccin de memoria deuna variable durante la ejecucin de un

    programa. Para ello es necesario utilizar eloperador de direccin, que se expresamediante el smbolo &.

    La sintaxis es la siguiente: &variable

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    10/13

    Operador de DireccinOperador de Direccin

    Apuntador

    FE87A20

    FE

    87

    A2

    00

    Ejemplo

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    11/13

    Apuntadores. Operador deApuntadores. Operador de indireccinindireccin

    El operador de indireccin permite acceder al

    contenido de una determinada direccin dememoria.

    Por ejemplo si px es una variable de tipopuntero a entero, en C se define asi:

    int *px ;int x = 4;px = &x; lo cual significa que px

    almacenar la direccin de memoria dondese encuentra el valor 4.

    Ejemplo

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    12/13

    Paso de parmetros por referenciaPaso de parmetros por referencia

    En el paso de parmetros por referencia,estos si pueden resultar modificados, una

    vez termine la ejecucin de la funcin. Seclasifican como parmetros de entrada y desalida.

    En C es posible emular el paso de

    parmetros por referencia, pero esnecesario conocer el manejo deapuntadores.

  • 8/6/2019 Para Metros Por Refer en CIA A Punt Adores

    13/13

    Paso de parmetros por referenciaPaso de parmetros por referencia

    En el paso de parmetros por referencia loque se pasa a la funcin es una referenciaa la direccin de memoria donde sealmacena dicho dato. De esta manera se

    modifica el dato real. Cualquier modificacin que se haga en la

    funcin se mantendr una vez que esta

    termine. Los datos que se pasen por referencia

    deben estar almacenados en memoria. Nose deben pasar constantes ni expresiones.

    E em lo