Documentos de Académico
Documentos de Profesional
Documentos de Cultura
III
Bibliografía
CONOCER
1.1. Conceptos de la memoria dinámica y punteros
1.2. Ejemplos de uso de memoria dinámica
1.3. Aplicaciones de la memoria dinámica y punteros.
HACER
Crear programas haciendo uso de la memoria
dinámica y el manejo de punteros
MEMORIA
DINAMICA Y
PUNTEROS
I: Punteros y Manejo de Memoria Dinámica
• Definición de Puntero
Un puntero es un tipo de dato, cuyo contenido es una
dirección de memoria.
I: Punteros y Manejo de Memoria Dinámica
• Definición de Puntero
Por ejemplo:
int y = 5;
int* puntero;
puntero = &y
}
I: Punteros y Manejo de Memoria Dinámica
• C# - Programa 01
PROGRAMA EN WINDOWS FORMS
unsafe private void button2_Click(object sender, EventArgs e)
{
char Caracter = 'A';
char* PtrCaracter = &Caracter;
*PtrCaracter = 'Z';
S5.Text = "Valor Guardado: " + Caracter;
}
}
}
I: Punteros y Manejo de Memoria Dinámica
• C# - Programa 02
PROGRAMA EN MODO CONSOLA
I: Punteros y Manejo de Memoria Dinámica
• C# - Programa 02 - Modo Consola
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
unsafe static void Raiz(Double* Ptr)
{
Console.WriteLine("\nLa raiz cuadrada de [" + *Ptr + "] es: " + Math.Sqrt(*Ptr));
}
unsafe static void IncrementarPorValor(double n)
{
n = n + 1;
Console.WriteLine("Al aplicar incremento por valor obtenemos: " + n);
}
unsafe static void IncrementarPorReferencia(double* n)
{
*n = *n + 1;
Console.WriteLine("Al aplicar incremento por referencia obtenemos: " + * n);
}
I: Punteros y Manejo de Memoria Dinámica
• C# - Programa 02 - Modo Consola
unsafe static void Main(string[] args)
{
int Numero = 10;
int* PtrNum = &Numero;
*PtrCar = 'W';
Console.WriteLine($"Valor de la variable Caracter: {Caracter}");
Console.ReadLine();
I: Punteros y Manejo de Memoria Dinámica
• C# - Programa 02 - Modo Consola
int y = 5;
int* puntero;
puntero = &y;
Console.WriteLine($"Valor de Y: {y}");
Console.WriteLine($"Direccion de Memoria de Y: {(long)puntero:X}");
Console.WriteLine("El valor de la variable donde apunta el puntero:"+*puntero);
Console.WriteLine($"Direccion de Memoria de Y: {(long)puntero:X}");
Console.WriteLine($"Direccion : {(long)&y:X}");
Console.ReadLine();
Double Num;
Console.WriteLine("Escribir un numero para extraer la raiz cuadrada: ");
Num = Double.Parse(Console.ReadLine());
Raiz(&Num);
Console.ReadLine();
Console.WriteLine("INCREMENTANDO");
IncrementarPorValor(Num);
IncrementarPorReferencia(&Num);
Console.ReadLine(); }
}
}
I: Punteros y Manejo de Memoria Dinámica
• C# - Programa 02 - Modo Consola
UNIDAD I: FUNDAMENTOS TEORICOS de BD
• Resumen y Dudas
CONOCER
1.1. Conceptos de la memoria dinámica y punteros
1.2. Ejemplos de uso de memoria dinámica
1.3. Aplicaciones de la memoria dinámica y punteros.
HACER
Crear programas haciendo uso de la memoria
dinámica y el manejo de punteros
UNIDAD I: FUNDAMENTOS TEORICOS de BD
• Criterio 01 – Actividad 01
HACER
Crear programas haciendo uso de la memoria dinámica y el manejo de
punteros:
Desarrollar un programa para realizar
UNIDAD I: FUNDAMENTOS TEORICOS de BD
• Próxima Clase