
Apuntador de Apuntadores
Presentation
•
Computers
•
University
•
Practice Problem
•
Hard
REBECA DE LA CRUZ
Used 6+ times
FREE Resource
11 Slides • 12 Questions
1
Apuntadores
Ing. Rebeca de la Cruz Alcántara
2
kkk
3
Objetivo de la sesión
Obtener directamente el valor de la variable, operador de indirección.
Obtener la dirección de la variable, operador de referencia.
4
INTRODUCCIÓN
Si uno quiere ser eficiente escribiendo código en el lenguaje de programación C, se debe tener un profundo y activo conocimiento del uso de los apuntadores.
Un Apuntador es una variable que contiene una dirección de memoria
5
¿Para qué sirve
un puntero?
Un puntero es una variable que contiene la dirección de memoria de otra variable. Los punteros permiten código más compacto y eficiente; utilizándolos en forma ordenada dan gran flexibilidad a la programación.
6
Multiple Select
¿Cuáles son las ventajas de utilizar punteros?
Nos permiten pasar argumentos (o parámetros) a una función
Permiten acceder directamente a la pantalla, al teclado y a todos los componentes de la computadora.
Acceder solo a las direcciones de esas posiciones de memoria.
Manejo de cadenas y de arrays.
7
Definición de punteros
Suponiendo la siguiente declaración:
int numero, *pNumero;
¿Cómo se reconoce su dirección en memoria?
numero= 10;
pNumero= №
asigna valor a numero
guarda en el puntero la dirección de numero
8
Multiple Choice
¿Cómo guardamos la dirección de un puntero en otro puntero?
int **pnum = *pnum;
int **pnum = &pnum;
int *pnum = &pnum;
int *pnum = *pnum;
9
Multiple Choice
Alojamiento dinámico de memoria con punteros, también llamado...
Heap Memory
Dynamic memory
Memory allocation
Malloc
10
Asignación Dinámica con Arreglos
Requisitos:
Variable que guarde el tamaño del arreglo
Puntero que realizará Heap Memory
Asignación del nuevo espacio de memoria
Liberar memoria al finalizar
int n, *puntero = NULL;
puntero = new int[n];
delete [ ] puntero;
11
Fill in the Blanks
Type answer...
12
Fill in the Blanks
13
Matriz Dinámica
Los arreglos pueden ser de dos o más dimensiones. El alojamiento dinámico de memoria brinda la posibilidad de trabajar con arreglos de tamaño variable:
Requerimientos:
Es necesario declarar su nombre como un doble apuntador a entero.
Solicitar al usuario el tamaño de la matriz
Al termino del programa liberar la memoria.
int **matriz, filas, columnas;
matriz = new(int *)[filas];
for (int i=0 ; i < filas ; i++){
matriz[i] = new int[columnas];
}
14
Open Ended
¿Cómo se crea asignación dinámica para fcon el siguiente tipo de dato y puntero donde n = filas y m = columnas?
double **datos, *ptr, n, m;
15
Open Ended
¿Cómo se crea asignación dinámica para las columnas con el siguiente tipo de dato y puntero donde n = filas y m = columnas?
double **datos, *ptr, n, m;
16
Resuelve el siguiente problema:
Actividad colaborativa
Realiza un arreglo dinámico que pida n filas y m columnas tipo entero muestre el resultado y libere memoria al finalizar haciendo uso de funciones y con librería iostream. La variable a apuntador int es matriz1.
17
Open Ended
¿Cuáles son los requisitos para hacer uso de asignación dinámica con punteros?
18
Multiple Choice
La asignación dinámica con arreglos se define mediante:
ptr = new int[cant];
ptr = new int*[cant];
*ptr = new int[cant];
ptr = new cant[int];
19
Multiple Choice
La asignación dinámica de filas con matrices se define mediante:
ptr = new int[Filas];
ptr = new int*[Filas];
*ptr = new int[Filas];
ptr = new int[Filas];
20
Multiple Choice
La asignación dinámica de columnas con matrices se define mediante:
ptr = new int[Col];
*ptr[i] = new int[Col];
ptr[i] = new int[Col];
ptr[i] = new int*[Col];
21
Fill in the Blanks
22
Resumen
Un puntero no es más que una variable, en la
cual se almacena una dirección de memoria.
Esto parece muy simple, pero luego da muchos
quebraderos de cabeza. Al ser una dirección de
memoria, le podemos decir a un puntero que
en ese lugar donde apunta queremos
almacenar un valor, por ejemplo un número.
23
Gracias
Apuntadores
Ing. Rebeca de la Cruz Alcántara
Show answer
Auto Play
Slide 1 / 23
SLIDE
Similar Resources on Wayground
16 questions
Los cuatro pilares de la Educación
Presentation
•
University
16 questions
¿Por qué debería interesarte la Programación Competitiva?
Presentation
•
University
17 questions
Segundo Encuentro Sincrónico
Presentation
•
University
20 questions
TECHCROMA 2K24 - Code Change Filteration Process.
Presentation
•
University
19 questions
Modelos de solución
Presentation
•
University
19 questions
addie
Presentation
•
University
20 questions
INFORMATICA
Presentation
•
University
16 questions
Identificación y entrenamiento
Presentation
•
University
Popular Resources on Wayground
24 questions
PBIS-HGMS Day 10
Quiz
•
6th - 8th Grade
10 questions
HCS SCI 03 Summer School Review 3
Quiz
•
3rd Grade
11 questions
Home Scope
Quiz
•
7th - 8th Grade
15 questions
HCS SCI 05 Summer School Assessment 3 Review
Quiz
•
5th Grade
35 questions
Lufkin Road Middle School Student Handbook & Policies Assessment
Quiz
•
7th Grade
18 questions
Geo 11.3 Area of Circles and Sectors
Quiz
•
9th - 11th Grade