Search Header Logo
Apuntador de Apuntadores

Apuntador de Apuntadores

Assessment

Presentation

Computers

University

Practice Problem

Hard

Created by

REBECA DE LA CRUZ

Used 6+ times

FREE Resource

11 Slides • 12 Questions

1

Apuntadores

Ing. Rebeca de la Cruz Alcántara

2

media

kkk

media

3

media

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

media

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?

1

Nos permiten pasar argumentos (o parámetros) a una función

2

Permiten acceder directamente a la pantalla, al teclado y a todos los componentes de la computadora.

3

Acceder solo a las direcciones de esas posiciones de memoria.

4

Manejo de cadenas y de arrays.

7

media

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?

1

int **pnum = *pnum;

2

int **pnum = &pnum;

3

int *pnum = &pnum;

4

int *pnum = *pnum;

9

Multiple Choice

Alojamiento dinámico de memoria con punteros, también llamado...

1

Heap Memory

2

Dynamic memory

3

Memory allocation

4

Malloc

10

Asignación Dinámica con Arreglos

Requisitos:

  1. Variable que guarde el tamaño del arreglo

  2. Puntero que realizará Heap Memory

  3. Asignación del nuevo espacio de memoria

  4. 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

Question image

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:

  1. Es necesario declarar su nombre como un doble apuntador a entero.

  2. Solicitar al usuario el tamaño de la matriz

  3. 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

Question image

¿Cuáles son los requisitos para hacer uso de asignación dinámica con punteros?

18

Multiple Choice

Question image

La asignación dinámica con arreglos se define mediante:

1

ptr = new int[cant];

2

ptr = new int*[cant];

3

*ptr = new int[cant];

4

ptr = new cant[int];

19

Multiple Choice

Question image

La asignación dinámica de filas con matrices se define mediante:

1

ptr = new int[Filas];

2

ptr = new int*[Filas];

3

*ptr = new int[Filas];

4

ptr = new int[Filas];

20

Multiple Choice

Question image

La asignación dinámica de columnas con matrices se define mediante:

1

ptr = new int[Col];

2

*ptr[i] = new int[Col];

3

ptr[i] = new int[Col];

4

ptr[i] = new int*[Col];

21

Fill in the Blank

Question image

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