PUNTEROS EN EL LENGUAJE C

Slides:



Advertisements
Presentaciones similares
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Advertisements

Introducción al lenguaje C
Arrays Fundamentos de Programación I
Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.
Direcciones, Arreglos y Argumentos de Funciones
Tipos de Datos Básicos y Estructurados
Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas.
Una variable en un programa es algo con un nombre, cuyo valor puede variar. La manera en que el compilador y enlazador maneja esto es asignando un bloque.
Punteros Universidad Nacional Mayor de San Marcos
Informática I Código Semestre Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza.
Tema 1. Introducción a la programación (Lenguaje java).
Funcionamiento, programación
Ismael Camarero1. 2 ¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria.
VECTORES.
Roberto Mercado Holguin
ARREGLOS Estructuras de datos.
Estructuras de Datos Punteros y algo más.
Unidad 3 Punteros.
Ingeniero Anyelo Quintero
27/07/14 Catedra de Programacion I 1 Programación I Operadores y Expresiones.
Herramientas para el acceso directo a memoria en C++
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
Vectores en java.
Conceptos Básicos de Java

PUNTEROS Ó (apuntadores) EN LENGUAJE C
Diseño de algoritmos “Punteros”
1 Chapter 15 Pointers, Dynamic Data, and Reference Types Dale/Weems/Headington.
FUNCIONES EN C. SOBRE FUNCIONES... Caja negra in_1 in_N out_1 In_2 Función: Nombre. (Con el cual es invocada). Entradas. (Parámetros de la función). Salida.
Introducción a los punteros
Arreglos.
3.1 Declaración de tablas en C
Capítulo 5. Punteros y Cadenas de Caracteres
Índice. Revisando conceptos acerca de la memoria.
Programación III Clase 08 Arreglos.
Estructuras.
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Unidad VI Registros (estructuras, uniones y enumeraciones)
Microsoft© Visual Basic . Net.
COMPUTACIÓN I TEMA 6. Pasaje de parámetros por Referencia. Uso de apuntadores Prof. Mireya Morales.
Tipo de Datos Básicos.
PUNTEROS Ing Anghello Quintero.
Informática Ingeniería en Electrónica y Automática Industrial
El lenguaje de programación C - Vectores y matrices -
Informática Ingeniería en Electrónica y Automática Industrial
Programación Técnica1UVM Tipos de Datos. Programación Técnica2UVM.
Memoria estática versus dinámica con Estructuras
Programación en C para electrónicos
Punteros.
Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.
Multiplicación de matrices
APUNTADORES.
Programación III Clase 09 Apuntadores. Declaración de Punteros Declaración: type* id; Ejemplo: int* ptr; ptr contendrá entonces una dirección a un entero.
CAPITULO V ARREGLOS Y CADENAS.
Memoria dinámica con Estructuras. Memoria dinámica ¿Qué hacer cuando las variables declaradas son insuficientes o cuando no se conoce anticipadamente.
Elementos básicos del lenguaje
Los punteros Programación modular.
Punteros Recomendado: 1. Nivelación Funciones
Computación II Capitulo VII Punteros. Presentación de la unidad Objetivos: –Ser capaces de utilizar punteros. –Comprender las relaciones entre punteros,
LENGUAJE “C” Programación.
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
Laboratorio de programación
Informática Ingeniería en Electrónica y Automática Industrial
Conceptos y Lenguaje Imperativo
MEMORIA DINÁMICA.
TIPOS DE DATOS PARCIAL III Punteros. Un puntero es una variable que hace referencia a una dirección de memoria Sintaxis: Tipo_Dato *nombre_variable_puntero;
OBJETIVOS DEFINIR LA ESTRUCTURA DE ARREGLOS. DECLARAR ARREGLOS EN C.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
PUNTEROS EN EL LENGUAJE C
Transcripción de la presentación:

PUNTEROS EN EL LENGUAJE C

VARIABLES DE PUNTERO 55 18 45 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.

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

Asignaciones Variable de puntero = Dirección de memoria x = 15.22 15.22 px = &x 26

Asignaciones (cont.) Variable de puntero1 = Variable de puntero2 15.22 x = 15.22 26 px = &x py = px 26 DOS VARIABLES DISTINTAS VAN A APUNTAR A LA MISMA DIRECCIÓN DE MEMORIA

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

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 a a es un vector de 9 términos Se puede decir que: 1520 362 55 96 725 133 -95 128 *(a + 5) a[0] * a Se puede decir que: a Es una variable de puntero que apunta a la dirección de memoria de a[0]. a == & a[ 0 ]; *a == a[ 0 ]; *( a + 5) == a[ 5 ] a[8] a

PUNTEROS Y MATRICES a 1520 362 55 96 725 133 -95 128 a[ 0 ] a[ 1 ] -95 128 a[ 0 ] a[ 1 ] a[ 2 ] a[ 0 ][ 0 ] a[ 2 ][ 2 ] a

PUNTEROS Y MATRICES Conclusiones 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