Punteros en el lenguaje c
This presentation is the property of its rightful owner.
Sponsored Links
1 / 14

PUNTEROS EN EL LENGUAJE C PowerPoint PPT Presentation


  • 71 Views
  • Uploaded on
  • Presentation posted in: General

PUNTEROS EN EL LENGUAJE C. VARIABLES DE PUNTERO. Variable común ( x ) El valor de la variable está almacenada en la dirección de memoria. VARIABLE DE PUNTERO (px) Aquí se almacena la DIRECCIÓN DE MEMORIA DE X. Se dice que px APUNTA a X. 55.

Download Presentation

PUNTEROS EN EL LENGUAJE C

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Punteros en el lenguaje c

PUNTEROSEN EL LENGUAJE C


Variables de puntero

VARIABLES DE PUNTERO

Variable común ( x )

El valor de la variable está almacenada en la dirección de memoria.

VARIABLE DE PUNTERO (px)

Aquí se almacena la DIRECCIÓN DE MEMORIA DE X.

Se dice que px APUNTA a X.

55

Una variable de puntero también puede tener a su vez otra variable de puntero.

18

45


Una variable de puntero almacena la direcci n de la memoria de otra variable

UNA VARIABLE DE PUNTERO ALMACENA LA DIRECCIÓN DE LA MEMORIA DE OTRA VARIABLE.


Declaraci n de variables de tipo puntero en c

DECLARACIÓN DE VARIABLES DE TIPO PUNTERO EN C

tipo * nombre;

Ejemplos:

int * pi; //puntero a entero

int * pa, *pb; //dos punteros a entero

char ca, *cca // una variable char y un puntero a // tipo char

double * db; // puntero a double

char * pchr; // puntero a char

long * pln[20]; //VECTOR de punteros tipo //long


Operaciones con punteros

OPERACIONES CON PUNTEROS


Asignaciones variable de puntero direcci n de memoria

AsignacionesVariable de puntero = Dirección de memoria

x = 15.22

15.22

px = &x

26


Asignaciones cont variable de puntero1 variable de puntero2

Asignaciones (cont.)Variable de puntero1 = Variable de puntero2

x = 15.22

15.22

26

px = &x

py = px

26

DOS VARIABLES DISTINTAS

VAN A APUNTAR A LA MISMA DIRECCIÓN DE MEMORIA


Derreferenciacion indireccion

DERREFERENCIACION(INDIRECCION)

Es la operación que permite obtener el valor almacenado en la dirección de memoria a la que apunta el puntero.

Sintaxis: * variable de puntero

Ejemplo:

x = 50; //una variable almacena el valor 50.

px = &x; //la variable de puntero almacena la //dirección de x.

*px = 250; //La variable x pasa a valer 250.

y = *px; //Asigno a y el valor de x o sea 250.


Operaciones aritm ticas con punteros

OPERACIONES ARITMÉTICAS CON PUNTEROS

A las variables de puntero se les puede sumar y restar números enteros.

Al sumarle o restarle un entero n a una variable de puntero se apuntará a una dirección de memoria ubicada a (± n) multiplicado por el número de bytes del tipo de variable a la que se apunta.

Ejemplo:

Al sumarle 5 a una variable de puntero que apunta a int, se apuntará a una nueva dirección de memoria ubicada 20 bytes en sentido creciente de la memoria.


Punteros en el lenguaje c

152

35

1785

92

88

x = 152

px+3 apunta a &x+3 * sizeof( tipo )

*( px + 3 ) vale 92

px == &x

&x == 17

*px == 152

17


Punteros y vectores

1520

362

55

96

725

133

0

-95

128

PUNTEROS Y VECTORES

a es un vector de 9 términos

*(a + 5)

a[0]

* a

  • Se puede decir que:

    • a Es una variable de puntero que apunta a la dirección de memoriade a[0].

    • a == & a[ 0 ];

    • *a == a[ 0 ];

    • *( a + 5) == a[ 5 ]

a[8]

a


Punteros y matrices

1520

362

55

96

725

133

0

-95

128

PUNTEROS Y MATRICES

a[ 0 ]

a[ 1 ]

a[ 2 ]

a[ 0 ][ 0 ]

a[ 2 ][ 2 ]

a


Punteros y matrices conclusiones

PUNTEROS Y MATRICESConclusiones

Una matriz m x n es un vector de m vectores de dimensión n.

a[ m ][ n ] == { a[ 0 ], a[ 1 ], . . ., a[ m ] }

donde cada a[ i ] vale:

a[ i ] == { a[ i ][ 0 ], a[ i ][ 1 ], . . . , a[ i ][ n ] }

Para todas las matrices se cumple lo siguiente:

a == &a[ 0 ][ 0 ] //dirección de memoria a[0][0];

a[ 0 ] = &a[ 0 ][ 0 ];

a[ i ] == &a[ i ][ 0 ];

*a[ i ] == a[ i ] [ 0 ];

*a[ i ] + j == a[ i ][ j ];

a[ i ][ j ] == *( *a+ i * m + j ) ;


Fin de punteros

FIN DE PUNTEROS


  • Login