Vous êtes sur la page 1sur 7

ndice general

1. Apuntadores 1.0.1. Declaracion e Inicializacion . 1.0.2. Operadores de un apuntador 1.0.3. Funciones por Referencia . . 1.0.4. Modifcador const . . . . . . . iii iii iii iv iv

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

ndice de guras

ii

Captulo 1

Apuntadores Los apuntadores son variables que contiene como valor direcciones de memoria.
1.0.1. Declaracion e Inicializacion
Un apuntador contiene la direccion de una variable la cual contendra un valor especico, en resumen una variable comn se reere directamente a un valor, mientras que un apuntador lo hace de manera indirecta, a eso se le conoce como indireccin, al ser una variable, estos deben ser declarados, para hacerlos se usa la siguiente sintaxis: tipo *nombreApuntador Los apuntadores deben ser inicializados cuando son declarados o en un enunciado de asignacion, los apuntadores pueden ser inicializados por: NULL: Cuando un apuntador se declara de este tipo el apuntador, apunta a nada. 0:Es similar que inicializar el apuntador con NULL, aunque es preferible hacerlo con la palabra reservada NULL. Direccion

1.0.2.

Operadores de un apuntador

El operador &, u operacion de direccion, es un operador unario que regresa la direccion de su operando. Ejemplo 1. Denir una variable entera y un apuntador entero int y=5; int *yPtr; el enucniado yPtr=&y;

iii

CAPTULO 1. Apuntadores

asigna la direccion de la variable y a la variable de apuntador, se dice entonces que yPtr apunta a y. El valor del operando del operador &, debe ser una variable, no puede ser aplicado a constantes, variables declaradas con la clase de almacenamiento register. El operador *, es conocido comunmente como el operador de indireccion o de desreferencia, regresa el valor del objeto hacia el cual su operando apunta, si por ejemplo hacemos printf( %d,*yPtr); al impinir este valor tendremos un 5, a esto se le conoce como desrefenciar un apuntador.

1.0.3.

Funciones por Referencia

Existen dos formas de pasar argumentos a una funcion: 1. llamada por valor 2. llamada por referencia. En C todas las funciones son llamadas por valor, se puede utilizar return para regresar un valor de una funcion.Muchas funciones requieren la capacidad de modicar una o mas variables del llamador, o pasar un apuntador a un objeto de datos grande, para evitar la sobrecarga de pasar un objeto en llamada por valor. C proporciona las capacidades de simulacion de llamadas por referencia, en C los programadores utilizan los apuntadores y el operador de indireccion para simular llamadas por referencia, cuando se llama una funcion con argumentos que deban ser modicados, se pasan las direcciones de los argumentos, esto se lleva acabo utilizando el operador de direccion &, a la variable cuyo valor debe ser modicado

1.0.4.

Modifcador const

Este modicador le indica a C que los valores depositados en el no podran ser modicados, en las primeras versiones de C este no podia ser utilizado debido a qu no existia. Existen 6 posibiladades para el uso de const con parametros de funcion, dos con paso de paramatros mediante llamada por valor y cuatro con paso de parmetros mediante llamada por referencia. Consideremos una funcion que toma como argumentos un arreglo de un solo indice y su tamao, y que imprime dicho arreglo.Tal funcion debera recorrer ek arreglo utilizando un ciclo y enviar a la salida, uno por uno, los elementos del mismo. El tamao del arreglo se utiliza en el cuerpo de la funcion para determinar el indice mas grande del arreglo y poder terminar el ciclo cuando se ha terminado la impresion. El tamao del arrgeglo no cambia en el cuerpo de la funcion para detrminar el indice mas grande del arreglo y poder terminar el ciclo cuando se ha terminado la impresion.

iv

CAPTULO 1. Apuntadores

Existen cuatro maneras de pasar un apuntador a una funcion: con un apuntador no constante hacia datos no constantes, mediante un apuntador no constante hacia datos constantes, por medio de un apuntador constante hacia datos no constantes y utilizando un apuntador no constante hacia datos constantes,

Bibliografa
[1] Anthony A. Aaby. Compiler Construction using Flex and Bison, 2004. [2] Alfred V. Aho, Ravi Sethi, and Jerey D. Ullman. res.Principios,tcnicas y herramientas. 2000. Compilado-

[3] Lpez Tecillo Miguel Angel. Compilador en espaol basado en lenguaje JAVA en espaol. PhD thesis, 2008. [4] Andrade Delgado Arnulfo, Castaeda de Isla Puga Erik, Oregel Snchez Felipe, and Parada Avila Jaime. Antecedentes de lgebra elemental. 1990. [5] Gough Brian and Richard M. Stallman. An Introduction to GCC, 2004. [6] J. Glenn Brookshear. TEORA DE LA COMPUTACIN.Lenguajes formales,autmatas y complejidad. ADDISON-WESLEY, 1993. [7] Jacinto Ruiz Cataln. Compiladores Teora e implementacin. Alfaomega, 2010. [8] Charles Donnelly and Richard Stallman. Bison, 2012. [9] Hopcroft John E. and Jerey D. Ullman. Introduccin a la teora de autmatas, lenguajes y computacin. CECSA, primera edicin edition, 1993. [10] Noah Gift and Jeremy M.Jones. Python para administracin de sistemas Unix y Linux. Primera edicin edition, 2008. [11] GNU. Sistema Operativo GNU. [12] H.M.Deitel and P.J.Deitel. Como Programar en C/C++. Segunda edicion edition, February 1998. [13] Sommerville Ian. Ingeneria del software. PEARSON, sptima edicin edition, 2005. [14] Goyvaerts Jan and Levithan Steven. OReilly, primera edicin edition, 2009. Regular Expressions CookBook.

[15] Laura Alicia Leonideas Jimnez. Tcnicas para construir compiladores ecientes en haskell. PhD thesis, 2005. vi

BIBLIOGRAFA

[16] R. Levine John, Manson Tony, and Brown Doug. Lex & Yacc. Second edition edition, February 1995. [17] Karen A. Lemone. Fundamentos de Compiladores: Cmo traducir al lenguaje de computadora. CECSA, 1996. [18] Kenneth C. Louden. Construccin de compiladores. [19] Mark Lutz. Learning Python. Tercera edicin edition, October 2007. [20] Mecklenburg Robert. GNU Make. OReilly, tercera edicin edition, 2004. [21] Team ROOT. ROOT: Users Guide 5.26, 2009. [22] Richard M. Stallman, McGrath Roland, and Smith Paul D. GNU Make. GNU, 2010. [23] Kurt Wall. Programacion en Linux con ejemplos. Segunda edicion edition, 2002.

vii

Vous aimerez peut-être aussi