Lectura

Páginas: 9 (2234 palabras) Publicado: 9 de octubre de 2012
M. C. Bertha López Azamar

Universidad del Papaloapan
Materia:

Programación Estructurada
Tema:

Punteros
Expositor:

M. C. Bertha López Azamar
Tuxtepec, Oaxaca.
Enero/2005-2006

1

PUNTEROS

M. C. Bertha López Azamar

Un tema muy ligado al uso de arreglos y paso de parámetros por referencia a funciones, es el uso de punteros.

Un puntero, es una variable que contiene ladirección de memoria, de un dato o de otra variable que contiene al dato. (El puntero apunta al espacio físico donde está el dato de la variable).
Puntero
El contenido es una dirección de memoria

3

1000 2

M. C. Bertha López Azamar

Antes de continuar es importante recordar aspectos como los siguientes:
memoria dato

3

Espacio de almacenamiento

Toda variable tiene: • nombre(identificador), • tipo de dato, que permite reservar un espacio de almacenamiento (dirección de memoria) y • contenido .

3

M. C. Bertha López Azamar

El programador al realizar la declaración de la variable, reserva un espacio de almacenamiento en memoria, conoce el nombre, pero el Sistema Operativo (S.O.) es quien asigna la dirección de memoria.
Ejemplo:

Reserva 16 bits de memoriaPermite referenciar ese espacio Tipo de dato nombre de memoria en el código
Edad;

int

//declaración de la variable //asignación del valor

Edad = 28; valor

El S.O. encuentra una espacio libre de memoria y la asocia 3 Edad con el nombre de la nombre 1000 variable.

contenido Dirección de memoria de la variable

4

Un puntero puede apuntar a un objeto de cualquier tipo, incluyendovariables simples, arreglos, estructuras, funciones, etc.

M. C. Bertha López Azamar

Puntero *p 1000

3

Puntero *q ‘C’ 5000

Por esa razón su contenido es una dirección de memoria y no un valor cualquiera.

5

M. C. Bertha López Azamar

Las variables tienen nombre, contenido y dirección de memoria.
edad 3 1000 *q letra ‘C’ 5000 5000 300
6

*p 1000 200

M. C. Bertha LópezAzamar

Al hablar de puntero, se distinguen dos operadores: - operador dirección de: & el cual devuelve como resultado la dirección de su operando. - operador de indirección: * toma el contenido de su operando como una dirección y nos da como resultado el contenido en esa dirección.
7

NOTA:

Los operadores unarios * y & tienen mayor precedencia que los operadores aritméticos +, –, *, /, % eigual precendencia que ++ y --.
Mayor ( ) [ ] -> . ! ~ ++ -- - (tipo) * & */% +> < => == != & ^ | && || ?: = += -= *= /= etc. , sizeof

M. C. Bertha López Azamar

Menor

8

Declaración de un puntero:

M. C. Bertha López Azamar

Un puntero se declara precediendo el identificador que referencia al puntero, por el operador de indirección ( * ), el cual significa “puntero a”. Ladeclaración de un puntero tiene la siguiente sintaxis:

tipo *var_puntero;
donde: tipo.- especifica el tipo de objeto apuntador, puede ser cualquier tipo, incluyendo tipos agregados. var_puntero.- nombre de la variable.
9

Ejemplo: se declaran dos variables simples:

M. C. Bertha López Azamar

int edad; char letra;

edad 1000

letra 5000

Al declarar los punteros para que apunten aestas variables, estos deben ser del mismo tipo de dato que la variable a la que apuntarán.

int *p; char *q;

/*declara p como puntero a un entero*/ /*declara p como puntero a una cadena de caracteres*/ *q *p
200 300
10

Para asignar valores a variables simples, podemos emplear el operador de asignación (=) o la lectura del valor mediante una función de lectura por teclado (por ejemplo:scanf)

M. C. Bertha López Azamar

Para asignar contenido a un PUNTERO, podemos emplear el operador de asignación (=) en conjunto con el operador de dirección (&). Pero NUNCA lea el contenido de una variable puntero con una función de lectura por teclado (por ejemplo: scanf) //asigna la dirección de memoria de la variable al puntero

//asigna un valor a la variable edad = 3; letra = ‘C’;...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Lecturas
  • Lectura
  • La lectura
  • Lectura
  • Lectura
  • Lectura
  • Lecturas
  • Lectura

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS