
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 Blank
Completa el siguiente enunciado:
ptr = ___ int [tam]
12
Fill in the Blank
Completa el siguiente bloque de código:
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 Blank
Escribe la línea para guardar los datos de un arreglo con punteros, la variable de tipo puntero se llama ptr
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
19 questions
Sistemas Operativos
Lesson
•
University
18 questions
FUNDAMENTOS DE AUTOMATAS Y LENGUAJES
Lesson
•
University
17 questions
Introdução à Programação
Lesson
•
KG - University
16 questions
Sistema Operativo
Lesson
•
University
20 questions
Advanced C++ Concepts
Lesson
•
University
18 questions
Jerga juventud
Lesson
•
University - Professi...
18 questions
Nomenclatura Química Inorgánica
Lesson
•
University
19 questions
Uso dos "porquês"
Lesson
•
University
Popular Resources on Wayground
15 questions
Fractions on a Number Line
Quiz
•
3rd Grade
14 questions
Boundaries & Healthy Relationships
Lesson
•
6th - 8th Grade
13 questions
SMS Cafeteria Expectations Quiz
Quiz
•
6th - 8th Grade
20 questions
Equivalent Fractions
Quiz
•
3rd Grade
25 questions
Multiplication Facts
Quiz
•
5th Grade
12 questions
SMS Restroom Expectations Quiz
Quiz
•
6th - 8th Grade
20 questions
Main Idea and Details
Quiz
•
5th Grade
10 questions
Pi Day Trivia!
Quiz
•
6th - 9th Grade
Discover more resources for Computers
20 questions
Disney Trivia
Quiz
•
University
19 questions
8.I_Review_TEACHER
Quiz
•
University
7 questions
Fragments, Run-ons, and Complete Sentences
Interactive video
•
4th Grade - University
39 questions
Unit 7 Key Terms
Quiz
•
11th Grade - University
14 questions
The Cold War
Quiz
•
KG - University
7 questions
Comparing Fractions
Interactive video
•
1st Grade - University
38 questions
Unit 6 Key Terms
Quiz
•
11th Grade - University
40 questions
Famous Logos
Quiz
•
7th Grade - University