Apuntadores
Programación de computadoras Hugo Vega
Grupo 2:
Reina Rodriguez
Miriam Salluca
Apuntadores
 Los punteros permiten simular el paso
por referencia, crear y manipular
estructuras dinámicas de datos, tales
como listas encadenadas, pilas, colas y
árboles. Generalmente las variables
contienen valores específicos.
 Ejemplo:
 int* pint; //Declara un puntero a entero
 char* pchar; //Puntero a char
 fecha* pfecha; //Puntero a objeto de
clase 'fecha'
Apuntadores y funciones
 Los apuntadores a funciones son
quizá uno de los usos más confusos
de los apuntadores en C. Los
apuntadores a funciones no son tan
comunes como otros usos que tienen
los apuntadores. Sin embargo, un uso
común es cuando se pasan
apuntadores a funciones como
parámetros en la llamada a una
función.
Apuntadores y funciones
Declaración de función Declaración del puntero-a-
función
char* func (char*);
Función que acepta un puntero-a-
char y devuelve un puntero-a-char
char* (*func) (char*);
Puntero-a-función que acepta un
puntero-a-char y devuelve un
puntero-a-char
char const * func ();
Función que no acepta argumento
y devuelve un puntero-a-char
constante.
char const* (*func) ();
Puntero-a-función que no acepta
argumentos y devuelve un
puntero-a-char constante
struct S func (char*);
Función que acepta un puntero-a-
char y devuelve una estructura
tipo S.
struct S (*func) (char*);
Puntero-a-función que acepta un
puntero-a-char y devuelve una
estructura tipo S.
Apuntadores y funciones
Declaración de función Declaración del puntero-a-
función
int* func (struct S* Sptr);
Función que acepta un puntero-a-
estructura tipo S y devuelve un
puntero-a-int
int* (*func) (struct S* Sptr);
Puntero-a-función que acepta un
puntero-a-estructura tipo S y
devuelve un punter-a-int
int* (C::* func())(char);
Función que no recibe
argumentos, devuelve un puntero
a función miembro de la clase C
que recibe un char y devuelve un
puntero-a-int.
int* (C::* (*func)())(char);
Puntero-a-función que no recibe
argumentos, devuelve un puntero-
a-función miembro de la clase C
que recibe un char y devuelve un
punter-a-int.
int (*(*f())[10])();
Función que no acepta
argumentos, devuelve un puntero
a una matriz de diez punteros-a-
función que no aceptan
argumentos y devuelven un int.
int (*(*(*f)())[10])();
Puntero-a-función que no acepta
argumentos, devuelve un puntero
a una matriz de diez punteros-a-
función que no aceptan
argumentos y devuelven un int.

Apuntadores-Programación

  • 1.
    Apuntadores Programación de computadorasHugo Vega Grupo 2: Reina Rodriguez Miriam Salluca
  • 2.
    Apuntadores  Los punterospermiten simular el paso por referencia, crear y manipular estructuras dinámicas de datos, tales como listas encadenadas, pilas, colas y árboles. Generalmente las variables contienen valores específicos.  Ejemplo:  int* pint; //Declara un puntero a entero  char* pchar; //Puntero a char  fecha* pfecha; //Puntero a objeto de clase 'fecha'
  • 3.
    Apuntadores y funciones Los apuntadores a funciones son quizá uno de los usos más confusos de los apuntadores en C. Los apuntadores a funciones no son tan comunes como otros usos que tienen los apuntadores. Sin embargo, un uso común es cuando se pasan apuntadores a funciones como parámetros en la llamada a una función.
  • 4.
    Apuntadores y funciones Declaraciónde función Declaración del puntero-a- función char* func (char*); Función que acepta un puntero-a- char y devuelve un puntero-a-char char* (*func) (char*); Puntero-a-función que acepta un puntero-a-char y devuelve un puntero-a-char char const * func (); Función que no acepta argumento y devuelve un puntero-a-char constante. char const* (*func) (); Puntero-a-función que no acepta argumentos y devuelve un puntero-a-char constante struct S func (char*); Función que acepta un puntero-a- char y devuelve una estructura tipo S. struct S (*func) (char*); Puntero-a-función que acepta un puntero-a-char y devuelve una estructura tipo S.
  • 5.
    Apuntadores y funciones Declaraciónde función Declaración del puntero-a- función int* func (struct S* Sptr); Función que acepta un puntero-a- estructura tipo S y devuelve un puntero-a-int int* (*func) (struct S* Sptr); Puntero-a-función que acepta un puntero-a-estructura tipo S y devuelve un punter-a-int int* (C::* func())(char); Función que no recibe argumentos, devuelve un puntero a función miembro de la clase C que recibe un char y devuelve un puntero-a-int. int* (C::* (*func)())(char); Puntero-a-función que no recibe argumentos, devuelve un puntero- a-función miembro de la clase C que recibe un char y devuelve un punter-a-int. int (*(*f())[10])(); Función que no acepta argumentos, devuelve un puntero a una matriz de diez punteros-a- función que no aceptan argumentos y devuelven un int. int (*(*(*f)())[10])(); Puntero-a-función que no acepta argumentos, devuelve un puntero a una matriz de diez punteros-a- función que no aceptan argumentos y devuelven un int.