PUNTEROS EN EL LENGUAJE C

Slides:



Advertisements
Presentaciones similares
Tema 1. Introducción a la programación (Lenguaje java).
Advertisements

ARREGLOS Estructuras de datos.
Estructuras de Datos Punteros y algo más.
LENGUAJE “C” Programación.
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.
Capítulo 5. Punteros y Cadenas de Caracteres
Índice. Revisando conceptos acerca de la memoria.
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.
COMPUTACIÓN I TEMA 6. Pasaje de parámetros por Referencia. Uso de apuntadores Prof. Mireya Morales.
PUNTEROS Ing Anghello Quintero.
Elementos básicos del lenguaje
Los punteros Programación modular.
Arreglos de Objetos.
PUNTEROS EN EL LENGUAJE C
Conceptos y Lenguaje Imperativo
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;
Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Programación de Algoritmos Autor: Luis Eduardo Villavicencio Prof.: Ing. Danilo Jaramillo.
Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Unidad Didáctica 24.
Estructura_clase Ing. Eduard Antonio Lozano Córdoba.
Memoria Dinámica Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez.
Programación II Sesión 3. TABLA DE CONTENIDO  Tipos de Datos en C  Delimitadores  Tipo Char  Tipo Int  Tipo Float  Tipo Double  Constantes  Operadores.
Nociones básicas sobre C++
VECTORES OPERACIONES CON VECTORES MATRICES.
Polinomios y Fracciones algebraicas
¿Cómo almacenar datos dentro del computador?
Funciones, Arreglos y Vectores
Tipos de datos Tipo de datos Significado Ejemplos Byte
Nociones básicas sobre C++
Como almacenar grandes cantidades de datos
Olimpiadas Chilenas de Informática - Formación
Arreglos (Arrays) Programación 1.
TIPOS ABSTRACTOS DE DATOS.
¿Cómo almacenar grandes cantidades de datos?
Manejo de Punteros y objetos en memoria dinámica en C++
Introducción a las estructuras de datos
Apuntes de Matemáticas 3º ESO
Arreglos. en Lenguaje C n
Arreglos y vectores C++.
Definición y Conversión de datos
Leccion 5: Escogiendo un Tipo de Variable
Manejo de Punteros y objetos en memoria dinámica en C++
Definición y Conversión de datos
Vectores Unidad II A Z L D Comenzar.
Apuntes de Matemáticas 2º ESO
LENGUAJE DE PROGRAMACION III Estructuras Estáticas de Datos
Tipos Básicos.
DOCENTE: ANGEL PALACIO BIENVENIDOS AL MUNDO DEL
El Lenguaje C: Elementos Básicos
Tipos de Datos abstractos
Algunas ideas básicas de C++
Tipos de Datos abstractos
Funciones que retornan valor
Tema 3: Operadores Antonio J. Sierra.
INTRODUCCION Hasta ahora solo hemos tenido que trabajar con algunas variables en cada uno de los programas que hemos realizado. Sin embargo, en más de.
Arreglos en Java.
Informática Ingeniería en Electrónica y Automática Industrial
Curso de Programación Estructurada
Informática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial
Nociones básicas sobre C++
Manejo de Punteros y objetos en memoria dinámica en C++
Puntero #include int main(int argc, char *argv[]) { int myVar = 378; printf("El valor de la variable es: %d\n", myVar); printf("Dirección de memoria de.
Nociones básicas sobre C++
Apuntes Matemáticas 2º ESO
Memoria estática versus dinámica con Estructuras
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