
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
17 questions
conociendo la tecnología y la computación
Presentation
•
University
16 questions
Características del lenguaje C++
Presentation
•
University
18 questions
Trabajos prácticos
Presentation
•
University
19 questions
Aplicaciones Informáticas. Clase 5 agosto
Presentation
•
University
21 questions
Humanismo y Renacimiento
Presentation
•
University
20 questions
Introducción a EXCEL
Presentation
•
University
17 questions
Tipos de Variables
Presentation
•
University
Popular Resources on Wayground
5 questions
A Home on the Shore
Quiz
•
3rd Grade
28 questions
US History Regents Review
Quiz
•
11th Grade
6 questions
A Horse Tale
Quiz
•
3rd Grade
20 questions
Math Review
Quiz
•
3rd Grade
10 questions
Juneteenth History and Significance
Interactive video
•
5th - 8th Grade
20 questions
Dividing Fractions
Quiz
•
5th Grade
55 questions
A Long Walk to Water Final Review
Quiz
•
6th - 8th Grade
10 questions
Equation Word Problems
Quiz
•
7th Grade