1 / 14

PUNTEROS EN EL LENGUAJE C

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.

gil
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PUNTEROSEN EL LENGUAJE C

  2. 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

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

  4. 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

  5. OPERACIONES CON PUNTEROS

  6. AsignacionesVariable de puntero = Dirección de memoria x = 15.22 15.22 px = &x 26

  7. 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

  8. 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.

  9. 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.

  10. 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

  11. 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

  12. 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

  13. 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 ) ;

  14. FIN DE PUNTEROS

More Related