Punteros. Índice. 1. Qué es un puntero y por que son importantes.
|
|
- Marina Giménez Silva
- hace 7 años
- Vistas:
Transcripción
1 Punteros Índice 1. Qué es un puntero y por que son importantes. 2. Punteros a tipos básicos. 3. Punteros sin tipo. 4. Memoria dinámica. 5. Punteros a estructuras. 6. Punteros a matrices. 7. Punteros a punteros a punteros. 8. Punteros a funciones. 1
2 Qué es un puntero y por qué son importantes Introducción En Java existen punteros y reserva dinámica de memoria!!!!!!!. Lo que no existe es aritmética de punteros ni liberación de memoria dinámica. 2
3 Introducción Alguien se atreve a definir lo que es un puntero?. Un puntero es una variable capaz de almacenar direcciones de memoria y mediante los operadores adecuados acceder a la información que contiene la dirección de memoria a la que apunta en cada momento. Alguien puede decir esto con otras palabras?. Y hacer un dibujo?. Introducción Por qué son importantes los punteros?. Tablas y cadenas. Parámetros por referencia. Biblioteca de funciones (scanf( scanf). Coger la memoria que necesitamos. 3
4 Introducción Cuáles son los peligros / errores típicos con punteros?. Olvidarnos de reservar memoria. Olvidarnos de devolver memoria. Apuntar a dónde no es. No utilizar el operador adecuado (*, &). Punteros a tipos básicos 4
5 Punteros a tipos básicos Así se declaran punteros: int *a; // puntero a entero char *c; // puntero a caracter C necesita saber el tipo apuntado para poder manipularlo. Qué guarda la variable a, y la variable c justo después de declararla? Punteros a tipos básicos 2 operadores: * : valor apuntado & : dirección de memoria. int *a;. a *a &a Cuál es la diferencia (un dibujo)? 5
6 Punteros a tipos básicos Cómo podemos declarar un puntero que apunte al número 3?. int *a; Mal!!!!! *a = 3; Y por qué?. Punteros a tipos básicos Una primera solución. int *a; int b = 3; a = &b; Un dibujo. 6
7 Punteros a tipos básicos Ejemplos de uso de operadores de punteros. Se declaran dos variable enteras i y j y un puntero a entero p int i, j, *p; Suponemos que i y j se ubican en las direcciones 13B6 e 5FC4, respectivamente. Contenido operación Variable de la memoria i=15; i 13B6 15? p=&i; (p apunta a i) j=*p; (se accede a lo apuntado por p) j p 5FC4? 15? 13B6? Punteros y constantes Punteros y constantes: const int* * a; Puntero a una constante. Puede cambiar el puntero pero no puede cambiar el valor apuntado. int* const a = [Dirección de memoria]; Puntero constante. Puede cambiar el valor pero no la dirección de memoria. 7
8 Punteros En C también tenemos NULL. Ojo, se escribe todo en mayúsculas y NO es una palabra reservada. Para qué utilizamos NULL?. int *a = NULL;. if (a == NULL) { } printf( a no apunta a ningún sitio ); Parámetros por referencia Se pasan las direcciones de las variables que queremos sean modificadas por la función. Dentro de la función definimos los punteros que almacenan las citadas direcciones. #include #include <stdio.h> x 5 p1 8A48 void 8 void void void intercambio intercambio (int (int (int *, (int *, int int *p1, *p1, *); *); int int *p2) *p2) void 8A48 void { main { main (void) (void) { { int int tmp; tmp; int tmp y 8 p2 8A4A El contenido de lo 5 tmp = intx=5, y=8; 8 y=8; *p1; intercambio *p1; Son punteros almacenan (&x, *p1 apuntado por p1 *p1 = *p2; (&x, &y); &y); *p2; 8A4A printf direcciones printf ( \n *p2 ( \n x= *p2 = tmp; x= %d, %d, x); x); printf tmp; Memoria } printf ( \n ( \n y= y= %d, %d, y); y);? main tmp 5 }} } Se pasan las direcciones Memoria 5 intercambio 8
9 Punteros sin tipo Punteros sin tipo Qué es un puntero sin tipo?. Un puntero de tipo void. void *p; Para qué sirve un puntero sin tipo? void *p; int a = 5; double b = 3.4 p = &a; P = &b; 9
10 Punteros sin tipo Antes de usar el valor apuntado necesitamos forzar el tipo. void *p; int a = 5, b; p = &a; b = (* (int *)p ); Os imagináis como están hechas printf y scanf?. Memoria dinámica 10
11 Memoria dinámica Los punteros y la memoria dinámica están muy relacionados pero no siempre van juntos. Podemos trabajar con punteros sin memoria dinámica. Un ejemplo?. Parámetros por referencia. Tablas. Memoria dinámica Qué es la memoria dinámica?. Memoria que reservamos durante la ejecución de nuestro programa. Ejemplo típico: romper la limitación de las tablas (listas, pilas, colas, etc.) 11
12 Memoria dinámica Reservar memoria: #include <stdlib.h> void *malloc( size_t size ); Qué devuelve esta función?. Qué necesita como parámetro?. Esta palabra reservada nos va a ser útil: sizeof. Memoria dinámica Cómo podemos crear un puntero al número 5 con memoria dinámica?. 1. int *p; 2. p = (int( *)malloc(sizeof(int malloc(sizeof(int)); 3. (*p)=5; 12
13 Memoria dinámica Importante!!!!!! Si reservamos memoria hemos de liberarla. Nadie lo va a hacer en nuestro lugar. Si no la liberamos, es un trozo de memoria que NADIE puede usar. Si perdemos el puntero al trozo de memoria, ya no podremos liberarla. Memoria dinámica Liberar memoria. #include <stdlib.h> void free( void *ptr ); Un ejemplo: 1. int *p; 2. p = (int( *)malloc(sizeof(int malloc(sizeof(int)); 3. (*p)=5; 4. free(p); 13
14 Punteros a estructuras Punteros a estructuras Acceso a los campos de una estructura: struct TR TR {{ T1 T1 c1; c1; T2 T2 c2; c2; Tn Tncn; }}; ; struct TR TR r, r, *pr; *pr; Son necesarios los paréntesis porque el operador. es de mayor precedencia que el * Acceso a través de de variable estructura r.ci r.ci Acceso a través de de puntero a estructura (*pr).ci 14
15 Punteros a estructuras Acceso a los campos de una estructura: En C (y en C++) existe un operador para simplificar el acceso a los campos de una estructura referenciada por un puntero: -> typedef struct {{ Cadena nombre, apellido1, apellido2; int intedad; long long dni; dni; char charsexo; }} Tpersona; Tpersona empleado, *p; *p; Acceso a través de de variable estructura strcpy (empleado.nombre, "Alicia"); printf ("%d", empleado.edad); Acceso a través de de puntero a estructura p->sexo = m ; m ; (*p).sexo = m ; m ; Punteros a estructuras Cómo creamos nuevas estructuras de manera dinámica?. typedef struct {{ Cadena nombre, apellido1, apellido2; int intedad; long long dni; dni; char charsexo; }} Tpersona; Tpersona *p; *p; p = (Tpersona *) *) malloc(sizeof(tpersona)); /* /* p apunta a una una estructura de de tipo tipo Tpersona cuya cuya memoria ha ha sido sido reservada durante la la ejecución */ */ 15
16 Punteros a matrices Punteros a matrices Una matriz es un puntero constante a la primera de un conjunto de posiciones de memoria consecutivas que guardan datos del mismo tipo 16
17 Punteros a matrices Cómo recorremos una matriz con un puntero? int intt[] t[] = {1, {1, 2, 2, 3, 3, 5}; 5}; int *p; *p; int inti; i; p = &t[0]; for for (i (i = 0; 0; i i < 5; 5; i++) { printf("%d ", ",(*(p+i)) ); ); } Memoria dinámica Cómo podemos crear dinámicamente una tabla de enteros de 5 posiciones?. 1. int *p; 2. p = (int( *)malloc(sizeof(int malloc(sizeof(int) *5 ); 3. (*p)=5; Qué significa esto? 17
18 Siempre que se llama a malloc hay que llamar a 4. free(p); Punteros a punteros a punteros a punteros. 18
19 Punteros a punteros. Puedo tener punteros que apunten a punteros. Y punteros que apunten a punteros que apunten a punteros. Y punteros que apunten a punteros que apunten a punteros que apunten a punteros. Y.. Punteros a punteros. Cómo declaramos un puntero que apunte a un puntero a entero?. int **a; Cómo guardamos en a el entero 5 (usando todas las variables auxiliares necesarias)? int b = 5, *c; c = &b; a = &c; 19
20 Punteros a punteros. Cómo mostramos el valor de a?. printf( %d, **a); Un dibujo. Punteros a punteros. Un ejemplo: intercambiar dos punteros de manera que, cuando termine la función, a apunta a donde apuntaba b y b a donde apuntaba a. void voidintercambia(int *a, *a, int int *b); *b); int intmain() { int int *a, *a,*b; *b; int intx=1, y=2; y=2; a = &x; &x; b = &y; &y; intercambia(a, b); b); printf("%d // %d %d\n", \n",*a, *a,*b); *b); } void void intercambia(int *a, *a, int int *b) *b){ int int *tmp; *tmp; tmp tmp = a; a; a = b; b; b = tmp; tmp; } Por qué no funciona? Cómo lo arreglamos? 20
21 Punteros a funciones Punteros a funciones Qué es un puntero a una función?. Para qué sirve?. Un ejemplo: void calcular(int r, void (*avisa)(int)); void m1(int); void m2(int); void m1(int r) { printf("1: %d\n", r); } void main() { calcular(5, m1); calcular(8, m1); } void m2(int r) { printf("2: %d\n", r); } void calcular(int r, void (*avisa)(int)) { int t = r+1; (*avisa)(t); } 21
Tema 6: Memoria dinámica
: Programación 2 Curso 2013-2014 Índice 1 2 3 El tamaño es fijo y se conoce al implementar el programa Declaración de variables int i=0; char c; float vf[3]={1.0, 2.0, 3.0}; i c vf[0] vf[1] vf[2] 0 1.0
Más detallesESTRUCTURAS. Struct Identificador_ tipo_estructura { Tipo miembro_1; /*Declaración de los miembros*/
DECLARACION DE ESTRUCTURAS ESTRUCTURAS La estructura es una colección de variables, la cual puede poseer distintos tipos de datos (a diferencia de los arreglos que solamente pueden tener un solo tipo de
Más detallesMemoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez
Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez 1. PUNTEROS 2. MEMORIA DINÁMICA 2 1. PUNTEROS 3 Qué es un puntero? Un tipo de variable cuyo valor es la dirección de memoria de otra variable.
Más detallesAlgoritmo, Estructuras y Programación II Ing. Marglorie Colina
Unidad III Punteros Algoritmo, Estructuras y Programación II Ing. Marglorie Colina Ejemplo: Paso de Punteros a una Función Arreglos (Arrays) Unidimensionales Los Arreglos son una colección de variables
Más detallesProgramación 1 Grado de Ingeniería Robótica
Programación 1 Grado de Ingeniería Robótica Tema 6: Datos estructurados Índice (sesión 11/11/2015): Arrays estáticos Cadenas de caracteres Funciones de la librería string.h Punteros Declaración de punteros
Más detallesAlgoritmos y estructuras de datos
Algoritmos y estructuras de datos Estructuras, apuntadores y memoria dinámica Francisco Javier Zaragoza Martínez Universidad Autónoma Metropolitana Unidad Azcapotzalco Departamento de Sistemas 11 de mayo
Más detallesPunteros. Programación en C 1
Punteros Programación en C 1 Índice Variables y direcciones de memoria. Punteros definición, declaración e inicialización. Punteros declaración, asignación y dereferencia. Puntero nulo, tipo void. Aritmética
Más detallesTema 18: Memoria dinámica y su uso en C
Tema 18: Memoria dinámica y su uso en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1
Más detallesESTRUCTURA DE DATOS. Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo
ESTRUCTURA DE DATOS Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo DATOS ESTÁTICOS Su tamaño y forma es constante durante la ejecución
Más detallesEstructuras Dinámicas
Departamento de Lenguajes yciencias de la Computación 4 Estructuras Dinámicas Contenido 1. Gestión dinámica de memoria. 2. El tipo puntero. 3. Operaciones con punteros. 4. Operaciones básicas sobre listas
Más detallesTEMA 8: Gestión dinámica de memoria
TEMA 8: Gestión dinámica de memoria 8.1.-Tipo de datos puntero Hasta ahora, los tipos de datos que hemos visto (a excepción de strings y ficheros) eran estructuras de datos estáticas, es decir, estructuras
Más detallesProgramación I Teoría III.
Programación I Teoría III http://proguno.unsl.edu.ar proguno@unsl.edu.ar DATOS ESTRUCTURADOS Estructuras de Datos Hasta ahora hemos trabajado con Datos simples enteros reales Caracteres punteros Sin embargo,
Más detallesIntroducción a C. Grupo de Sistemas y Comunicaciones. Febrero 2008 C 1. Programación imperativa estructurada.
Grupo de Sistemas y Comunicaciones gsyc-profes@gsyc.es Febrero 2008 C 1 C Características: Programación imperativa estructurada. Relativamente de bajo nivel. Lenguaje simple, la funcionalidad está en las
Más detallesUn puntero no es más que una variable estática cuyo contenido es una dirección de memoria.
Los punteros en C 1 Introducción Cómo se organiza la memoria asociada a un programa? Como una colección de posiciones de memoria consecutivas. En ellas se almacenan los distintos tipos de datos, que ocupan,
Más detallesClase 19/02/2013. Bibliografía recomendada. #include <stdio.h> void main() { printf("hola mundo\n"); } ENLAZADOR
Bibliografía recomendada Introducción a la Programación en C. Apuntes de la asignatura 1 2.1 La función main: Hola Mundo Clase CODIGO FUENTE Archivo de texto *.c PREPROCESADOR ARCHIVOS DE CABECERA Archivo
Más detallesAlgoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2 Contenidos: 1. Punteros 2. Arrays 3. Estructuras (registros) y uniones 4. Funciones Ejercicios Algoritmos y
Más detalles2. Variables dinámicas
2. Variables dinámicas 1. Introducción 2. Gestión de memoria dinámica 3. Punteros y variables dinámicas en lenguaje algorítmico 4. Gestión de memoria dinámica y punteros en C Bibliografía Biondi y Clavel.
Más detallesGESTIÓN DE MEMORIA DINÁMICA EN C 1. Creación y destrucción de variables dinámicas
GESTIÓN DE MEMORIA DINÁMICA EN C 1. Creación y destrucción de variables dinámicas en lenguaje algorítmico Partimos de: p: puntero de tipo T; ok, lógico; En general, el MGMD dispondrá d de alguna versión
Más detallesEstructuras y Uniones
1 Estructuras y Uniones Estructuras. Las estructuras ( struct ) son agrupaciones de una o más variables de tipos posiblemente diferentes, agrupadas bajo un mismo nombre. Esto permite un manejo más cómodo
Más detallesApuntadores y Memoria dinámica. Apuntadores. M.C. Yolanda Moyao Martínez
Apuntadores y Memoria dinámica Apuntadores M.C. Yolanda Moyao Martínez Por que? Es la única forma de expresar algunos cálculos. Se genera código compacto y eficiente. Es una herramienta muy poderosa. Uso
Más detallesRepaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)
Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben
Más detallesUniversidad del Papaloapan
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
Más detallesEl operador contenido ( ) permite acceder al contenido de
3. Memoria Dinámica y Punteros Objetivos: Distinguir los conceptos de memoria estática y memoria dinámica Comprender el concepto de puntero como herramienta de programación Conocer cómo se definen y cómo
Más detallesSistemas Informáticos Industriales
Sistemas Informáticos Industriales Apuntes de Punteros y memoria dinámica en C Licencia Grado en Electrónica y Automática Departamento de Informática de Sistemas y Computadores Escuela Técnica Superior
Más detallesProgramación I Teoría II.
Programación I Teoría II http://proguno.unsl.edu.ar proguno@unsl.edu.ar MODULARIDAD FUNCIONES EN C Modularidad Principio para resolución de problemas: Dividir para reinar Modularidad Módulo Función Procedimiento
Más detallesExamen Teórico (1/3 de la nota final)
Examen Teórico (1/3 de la nota final) 105000016 - Programación para Sistemas Grado en Ingeniería Informática (2009) Lenguajes y Sistemas Informáticos e Ingeniería de Software Facultad de Informática Universidad
Más detallesINTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C
INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C Programación en Entornos Multitarea Curso 2006/2007 Introducción C: lenguaje de medio nivel 32 palabras clave Eficiencia de ejecución del código generado Portabilidad
Más detallesPUNTEROS (APUNTADORES)
2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing: Karina Esquivel Alvarado. Asignatura: Algoritmo y Estructura de Datos. PUNTEROS (APUNTADORES) TEMA 4: PUNTEROS (APUNTADORES)
Más detallesApuntadores en C y C++
Apuntadores en C y C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Prof. Marcos A. Gil T. 8 de diciembre de 2004 1. Introducción Los apuntadores en C y C++ son una herramienta
Más detallesPunteros. Lenguaje C ANSI
Punteros. Lenguaje C ANSI 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 hay que confundir una dirección
Más detallesTema 4. Estructuras Dinámicas
Tema 4. Estructuras Dinámicas E.U.Politécnica. I.T.Industrial (Electricidad) E.U. Politécnica Departamento Lenguajes y Ciencias de la Computación. Universidad de Málaga José Luis Leiva Olivencia. Despacho:
Más detallesFunciones y paso de parámetros
Unidad Didáctica 24 Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Índice Consideraciones sobre funciones Estructura de una función
Más detallesRepaso 02: Apuntadores y manejo de memoria dinámica
Repaso 02: Apuntadores y manejo de memoria dinámica Solicitado: Ejercicios 02: Programación con memoria dinámica M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom
Más detallesExamen de Fundamentos de la Programación (Modelo 1)
Examen de Fundamentos de la Programación (Modelo 1) 27 de noviembre de 2007 1. Qué escribe el siguiente programa si se teclea 5? int num, resultado; for (resultado=0; num; resultado++) num -= 2; printf
Más detallesÍndice. Estructuras de datos en Memoria Principal. Vectores. Matrices. Cadenas de caracteres. Estructuras. Estructuras de datos en Memoria Externa
Índice Estructuras de datos en Memoria Principal Vectores Matrices Cadenas de caracteres Estructuras Estructuras de datos en Memoria Externa Ficheros Tema: Estructuras de Datos 2 Estructuras Una estructura
Más detallesInformática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.
Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el
Más detallesInformática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones
Más detallesTema 2: Elementos básicos de un programa. Tipos de datos, variables y constantes Asignación Operadores y expresiones
Tema 2: Elementos básicos de un programa Tipos de datos, variables y constantes Asignación Operadores y expresiones Ejemplo de programa Dados dos números, leídos desde el teclado, visualizar el mayor #include
Más detallesAPUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.
APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido
Más detallesApuntadores (Punteros)
Apuntadores (Punteros) x9ff10 X int 209 SESION 7 *ptr Definición Llamados también punteros. Un Apuntador es una variable que contiene una dirección de memoria, la cual corresponderá a un dato o a una variable
Más detallesPROBLEMA 1. Rellena el hueco 1 (línea 23). Realiza la reserva de memoria para almacenar los n puntos.
PROBLEMA 1. El siguiente programa tiene algunos huecos en blanco que tienes que rellenar para que funcione correctamente. En cada hueco va una única línea de C, salvo en el cuerpo de la función calcula_area_triangulo,
Más detallesIntroducción al lenguaje C
Introducción al lenguaje C Programación 2 Instituto de Computación, Facultad de Ingeniería, Universidad de la República, Uruguay 2 de marzo de 2016 Programación 2 Introducción al lenguaje C 2 de marzo
Más detallesClase Práctica Administración de Memoria en C. Organización de Computadoras Depto. Cs. e Ing. de la Comp. Universidad Nacional del Sur
Clase Práctica Administración de Memoria en C Depto. Cs. e Ing. de la Comp. Universidad Nacional del Sur Copyright Copyrigth 2018 Ing. Federico Joaquín. Las presentes transparencias constituyen una guía
Más detallesLaboratorio de Arquitectura de Redes. Punteros en lenguaje C
Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones
Más detallesPunteros. Definición Un puntero es un dato que contiene una dirección de memoria.
Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea
Más detallesESTRUCTURAS DINÁMICAS DE DATOS (LISTAS)
2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Docente: Ing. Karina Esquivel A. Asignatura: Practicas Profesionales. ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS) TEMA 3: ESTRUCTURAS DINÁMICAS
Más detallesFUNDAMENTOS DE PROGRAMACIÓN. PRÁCTICA 11: Apuntadores
Objetivos El alumno conocerá y aplicará el concepto de apuntadores para la solución de programas en Lenguaje C Introducción Un apuntador es una variable que mantiene la dirección de memoria de un elemento
Más detallesPunteros. 1.- Paso de parámetros por referencia. Ya hablamos de ésto en funciones. 2.- Declaración de arreglos dinámicos.
1 Punteros. Dentro de la memoria de la computadora cada dato almacenado ocupa una o más celdas contiguas de memoria. El número de celdas de memoria requeridas para almacenar un dato depende de su tipo.
Más detallesInstituto Politécnico Nacional
Instituto Politécnico Nacional Secretaria Académica Dirección de Estudios Profesionales Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Culhuacan Ingeniería en Comunicaciones y Electrónica Academia
Más detallesLenguaje C, tercer bloque: Funciones
Lenguaje C, tercer bloque: Funciones José Otero 1 Departamento de informática Universidad de Oviedo 28 de noviembre de 2007 Índice 1 Tipo puntero Concepto de puntero Operador dirección Operador indirección
Más detalles1. Presentación del lenguaje C Creado en 1972 por D. Ritchie Lenguaje de propósito general Portátil o transportable (generalmente) Inicialmente de niv
Introducción al lenguaje C Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Instrucciones del pre-procesador procesador 4. Tipos de datos
Más detallesTema 13: Apuntadores en C
Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción
Más detallesEstructuras en C. ESTRUCTURAS EN C: Veamos primero un ejemplo de un programa que declara y usa estructura para representar a un cliente.
Estructuras en C INTRODUCCIÓN: Hasta ahora hemos trabajado con datos elementales (enteros, reales, caracteres) o con vectores (agregaciones de datos del mismo tipo). En ocasiones es necesario trabajar
Más detallesSintaxis de los aspectos generales de un lenguaje de programación
Sintaxis de los aspectos generales de un lenguaje de programación por Iván Cruz Un lenguaje de programación cuenta con una estructura y sintaxis que debe ser utilizada exactamente como se indique para
Más detallesUnidad IV Arreglos y estructuras. M.C. Juan Carlos Olivares Rojas
Unidad IV Arreglos y estructuras M.C. Juan Carlos Olivares Rojas 4.1 Concepto de arreglo Agenda 4.2 Manejo de cadenas 4.3 Concepto de estructuras 4.4 Concepto de unión 4.5 Empleo de apuntadores 4.1 Concepto
Más detallesPUNTEROS O APUNTADORES C++
PUNTEROS O APUNTADORES C++ TRANSVERSAL DE PROGRAMACIÓN BÁSICA INGENIERÍA DE SISTEMAS En el presente documente se hace una breve explicación a la gestión dinámica de memoria en el lenguaje C++. Se incluyen
Más detallesEstructuras de Datos Estáticas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos estáticas
Fundación Misión Sucre Colegio Universitario de Caracas Taller 2: Estructuras de Datos Estáticas Objetivo Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos estáticas Contenido
Más detallesESTRUCTURAS DINÁMICAS DE DATOS (COLAS) EN C
2013 ESTRUCTURAS DINÁMICAS DE DATOS (COLAS) EN C Departamento de Computación UNAN-León TEMA 5: ESTRUCTURAS DINÁMICAS DE DATOS (COLAS) 5.1 INTRODUCCIÓN: Las colas son secuencias de elementos caracterizadas
Más detallesIntroducción al lenguaje C
Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;
Más detallesdirectamente indirectamente
PUNTEROS EN C PUNTEROS Permiten simular el pasaje de parámetros por referencia. Permiten crear y manipular estructuras de datos dinámicas. Su manejo es de fundamental importancia para poder programar en
Más detallesPunteros y Memoria Dinámica I
Memoria Punteros y Memoria Dinámica I Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es! Lugar donde almacenan los datos y las instrucciones! Compuesta de un gran número de bytes!
Más detallesEste material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y
Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y distribución. Listas Enlazadas Estructuras de datos dinámicas
Más detalles* Operador de Indirección ( o de referencia ) ( o de desreferencia )
PUNTEROS INTRODUCCION Una de las características más poderosas del C, es el puntero o apuntador. Los punteros permiten simular las llamadas por referencia y crear y manipular estructuras de datos dinámicas,
Más detallesIng. Informática Programación I Bloque 7
Bloque 7 Punteros Estructuras de datos dinámicas Hasta ahora: todos los tios tienen un tamaño estático (que se determina en tiemo de comilación) Ahora: tios de datos dinámicos, cuyo tamaño no es fijo y
Más detallesFUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN Sabino Miranda Jiménez Universidad Autónoma del Estado de México (UAEM) Apuntadores (1) Un apuntador es una variable que contiene la dirección de una ora variable Generan código
Más detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más detallesIntroducción general al Lenguaje C (2010/2011)
Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Introducción general al Lenguaje C (2010/2011) Universidad de Sevilla Índice
Más detallesLENGUAJE. Tema 5 Estructuras de datos
LENGUAJE Tema 5 Estructuras de datos TIPOS DE ESTRUCTURAS Una estructura es una agrupación de datos (posiblemente) heterogéneos (de distintos tipos), que se denomina bajo un único nombre, proporcionando
Más detallesNotas de estructura de datos con lenguaje C. Estructuras de datos dinámicas
Listas Enlazadas que está prohibida su impresión y distribución. Estructuras de datos dinámicas Contrariamente a las estructuras de datos estáticas (arreglos-listas, vectores y tablas- y estructuras) en
Más detallesProgramación. Test Autoevaluación Tema 3
Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.
Más detallesUNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.
Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Procedimientos para asignación y liberación de memoria. Tipos de datos recursivos.
Más detallesPUNTEROS (Apuntadores)
PUNTEROS (Apuntadores) Unidad III INTRODUCCIÓN A PUNTEROS. CONCEPTOS BÁSICOS. DECLARACIÓN DE PUNTEROS. PUNTEROS Como una colección de posiciones de memoria consecutivas. En ella se almacenan los distintos
Más detallesRealizar el ejercicio anterior utilizando Punteros
PUNTEROS Y ARRAYS En C existe una relación entre punteros y arrays tal que cualquier operación que se pueda realizar mediante la indexación de un arrays, se puede realizar también con punteros. Para clarificar
Más detallesApellidos: Nombre: Matrícula: Examen Programación para Sistemas Grado en Ingeniería Informática (2009)
Examen 105000016 - Programación para Sistemas Grado en Ingeniería Informática (2009) Lenguajes y Sistemas Informáticos e Ingeniería de Software Facultad de Informática Universidad Politécnica de Madrid
Más detallesHoja de ejercicios del Tema 9
Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 9 1. Sin ejecutarlo, qué mostraría el siguiente código? int x = 5, y = 12, z;
Más detallesRepaso de lenguaje C. Índice. Repaso de lenguaje C. Repaso de lenguaje C: Tipos básicos
Índice. Repaso de C: Tipos de variables. Declaración de variables Sentencias de control Funciones. Paso de argumentos a una función. Punteros, operaciones con punteros, punteros y arrays. Repaso de lenguaje
Más detallesTema 1. Programación modular. Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas
Tema 1. Programación modular Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas 1.1. Objetivos Repasar brevemente mediante ejemplos los elementos principales del lenguaje
Más detallesPUNTEROS EN C (APUNTADORES)
2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing: Karina Esquivel Alvarado. Asignatura: Programación Estructurada PUNTEROS EN C (APUNTADORES) TEMA 10: PUNTEROS (APUNTADORES)
Más detallesProgramación científica Punteros y arreglos
Programación científica Punteros y arreglos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Punteros y arreglos p. 1 Arreglo Un arreglo es un conjunto de una cantidad fija de variables
Más detallesEstructuración del programa en partes más pequeñas y sencillas
Introducción Estructuración del programa en partes más pequeñas y sencillas Modularización Propósito único Identificable Reusable Mayor claridad: programación, depuración, etc. Construcción de librerías
Más detallesTADs en C. Matías Bordese Algoritmos y Estructuras de Datos II - Laboratorio 2013
TADs en C Matías Bordese Algoritmos y Estructuras de Datos II - Laboratorio 2013 1. Objetivos Definición de TADs en C Ocultación de la implementación del TAD Manejo básico de memoria dinámica 2. Usando
Más detallesEl lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>
El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por
Más detallesIntroducción al lenguaje C
Introducción al lenguaje C Ampliación de Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Tipos de datos escalares 4. Operadores básicos
Más detalles1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos
1.1 Tipos de Datos Primitivos 1.2 Tipos de datos estructurados 1.2.1 Arreglos unidimensionales, bidimensionales y cadenas de caracteres 1.2.2 Registros o Estructuras (unión y estructura) 1.3 Definición
Más detallesProgramación I Funciones
1 Funciones Iván Cantador 2 Funciones: definición, sintaxis, ejemplos (I) Una funciónes un bloque de sentencias identificado con un nombre que se ejecutan de manera secuencial ofreciendo una funcionalidad
Más detallesManejo de memoria en C
Manejo de memoria en C Todas las variables, en el lenguaje C, se definen dentro de alguna función, fuera de esa función no es posible acceder a ellas. Al entrar a una función, a cada una de las variables
Más detallesTema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C
Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS Departamento de Ciencias de la Computación e IA Subprogramas en C Objetivo Una vez que tengamos un programa que resuelva un problema concreto, ser capaces de usarlo
Más detallesESTRUCTURAS DINÁMICAS DE DATOS (PILAS) EN C
2013 ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) EN C Departamento de Computación UNAN-León TEMA 4: ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) 4.1 INTRODUCCIÓN: En términos de listas lineales, una pila puede ser
Más detallesAlgoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Contenidos: 1. Características generales de C++ 2. Entrada/salida estándar 3. Variables y tipos de datos
Más detallesREPRESENTACIÓN DE DATOS
REPRESENTACIÓN DE DATOS Tipos de datos primitivos Tipos de Datos Estructurados TIPOS DE DATOS SIMPLES O PRIMITIVOS Dato Longitud Rango 2 TIPOS DE DATOS SIMPLES O PRIMITIVOS Surgen de la necesidad de tener
Más detallesPROGRAMACIÓN EN LENGUAJE C VARIABLES Y CONSTANTES
VARIABLES Y CONSTANTES Variables: Es un espacio reservado en la memoria donde podemos almacenar un valor durante la ejecución de un programa, a dicho espacio se le asocia un nombre (identificador). El
Más detallesTema 13 Punteros. Índice. 3. Aritmética de punteros. 4. Punteros y vectores/matrices. 5. Punteros y estructuras. 6. Asignación dinámica de memoria
Tema 13 Punteros Índice 1. Introducción 2. Operaciones 3. Aritmética de punteros 4. Punteros y vectores/matrices 5. Punteros y estructuras 6. Asignación dinámica de memoria 7. Punteros y funciones: Paso
Más detallesPunteros y Memoria Dinámica II
Repaso Punteros y Memoria Dinámica II Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es! Memoria! Qué necesita el compilador para acceder a una variable?! Punteros! Operadores &
Más detallesESTRUCTURAS DINÁMICAS DE DATOS (LISTAS)
2012 UNAN LEON Departamento de Computación Ing. En Sistemas de Información Docente: Ing. Karina Esquivel A. Asignatura: Algoritmo y Estructura de Datos. ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS) TEMA 2:
Más detallesAnalista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior PUNTEROS
PUNTEROS 1 Punteros en C Un puntero es una variable que almacena direcciones de memoria tipo *puntero; tipo variable; puntero = &variable; ffd0 valor variable fff0 ffd0 puntero A partir de la última sentencia
Más detalles