Apuntadores en C

Páginas: 5 (1044 palabras) Publicado: 27 de marzo de 2012
7. Apuntadores

7. Apuntadores
7.1 Declaración e inicialización de variables de apuntador. 7.2 Operadores de los apuntadores 7.3 Arreglos de apuntadores 7.4 Apuntadores a funciones

7.1 Declaración e inicialización de variables de apuntador. (1)
• Un apuntador ( Pointer) provee una forma de acceder una variable (o una clase de dato) sin referirse directamente a la variable misma. Elmecanismo empleado para el acceso es la dirección, en memoria, de la variable, no su nombre.

7.1 Declaración ... (2)
Razones del uso de apuntadores Regresar más de un valor de una función Pasar arreglos y cadenas más convenientemente entre funciones Manipular arreglos más facilmente Crear estructuras complejas de datos Comunicar información acerca de la memoria

7.1 Declaración ... (3)
•Una constante apuntador es una dirección • Una variable apuntador es un lugar para el almacenamiento de direcciones

7.1 Declaración ... (4)
Para usar un apuntador es necesario indicar al compilador: Que se está declarando un apuntador. Para ello se antepone el asterisco ( * )

El tipo de dato del elemento al cual el apuntador señalará.

7.1 Declaración ... (5)
• Ejemplo. Declaraciónde apuntadadores a datos de tipo entero y datos de tipo punto flotante:

int *px , *py ; float *pcuenta , *psaldo ;

7.1 Declaración ... (6)

int *px ;
el apuntador señalará a una variable de tipo entero Indica que la variable es un apuntador

Nombre de la variable apuntador

7.2 Operadores de los apuntadores. (1)
• En una declaración de un apuntador se emplea el * para denotar sunaturaleza • En un bloque de código el * representa al operador de indirección. Este permite acceder el valor contenido en la dirección de memoria señalada por el apuntador.

7.2 Operadores de los apuntadores. (1)
• Es posible ejecutar sumas + y restas – a apuntadores con el fin de realizar desplazamientos relativos en memoria.

7.2 Operadores ... (2) *
En una declaración Indica que lavariable es de “tipo apuntador”

int *px ;

En otros estatutos * significa
“la variable señalada por”

*px=54 ;

Operador de indirección

px es el nombre de variable

7.2 Operadores ... (3)
declaración Asignación de dirección a apuntador

int *px, x; px=&x; *px=10; asigna 10 a “la variable
señalada por px”, es decir x

Apuntador del tipo de dato apropiado

Operador de indirecciónpx es el nombre de variable

7.2 Operadores ... (4)
declaración Asignación de dirección a apuntador

int *px, x; px=&x; px=px+1; px almacenará la

Apuntador del tipo de dato apropiado

Sin operador de indirección

siguiente dirección de memoria, 2 bytes adelante

px es el nombre de variable

7.2 Operadores ... (5) int *px, x; Apuntador a dato entero, se desplaza px=&x; 2 bytesmás px=px+1;
1310:x1400:px1310:x1400:px-1310 1310:x1400:px-1312

7.2 Operadores ... (6)
declaración Asignación de dirección a apuntador

float *pf, f; pf=&f; pf=pf-1; pf almacenará la

Apuntador del tipo de dato apropiado

anterior dirección de memoria, 4 bytes atrás

Sin operador de indirección

pf es el nombre de variable

7.2 Operadores ... (7) int *px, x; Apuntador a datoentero, se desplaza px=&x; 2 bytes menos px=px-1;
1310:x1400:px1310:x1400:px-1310 1310:x1400:px-1308

Ejemplo: Uso de apuntadores en main()
suma2b.C

int main() { int x=2,y=4; int *px,*py;

printf("\nLos valores son %d y %d",x,y); px=&x; *px=*px+10; py=&y; *py=*py+10;

printf("\n Ahora los valores son %d y %d",x,y);
return(0);

}

Ejemplo: Paso de dos valores a una función. sin usarapuntadores
valores.C

/* valores.c Paso de valores a una función*/ /* la función acepta dos valores*/ void imprimir(int x,int y);

int main()
{ int x=4,y=7;

imprimir(x,y);
return(0); }

/* funcion imprimir */ /* imprime los valores de los dos argumentos */ void imprimir(int a, int b)

{
printf("Los valores son %d y %d ", a , b);

}

Ejemplo: Función que regresa dos...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Apuntes c#
  • Apuntadores En C
  • Apuntadores En C++
  • Apuntes de c
  • C++ apuntes
  • Apuntes De C#
  • apuntes c++
  • El lenguaje de programación C++, apuntes

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS