Apuntadores
Apuntadores
Apuntadores
ESIME-CULHUACAN
FUNDAMENTOS DE PROGRAMACION
(Apuntadores)
UNIDAD 3
ALUMNO:
MALDONADO BRAVO IAN YAEL EDUARDO
GRUPO: 1MV25
PROFESOR:
AGUILAR MARURI HUGO ENRIQUE
Nombre: MALDONADO BRAVO IAN YAEL EDUARDO Grupo: 1MV25
Apuntadores
1. Apuntadores
Apuntadores también llamados punteros, son variables que contienen la dirección de
la memoria de una variable dinámica donde se podrá almacenar un valor.
Declaración:
Primero se especifica el tipo de dato al que apunta, el operador (*), y el nombre del
apuntador.
Sintaxis
<tipo> *<identificador>;
<tipo>* <identificador>
<tipo>* <identificador>
Cabe aclarar que en algunos casos el poner el asterisco en las 3 diferentes formas,
puede que indicar error y más si se declaran varios objetos en la misma línea.
int* x, y;
En este caso, x es un puntero a int, pero no es más que un objeto de tipo int. Colocar
el asterisco junto al tipo puede que indique más que estamos declarando un puntero,
pero debemos de tener en cuenta que sólo afecta al primer objeto declarado, si
quisiéramos declarar ambos objetos como punteros a int tendremos que hacerlo de
otra manera.
int* x, *y;
int *x, *y;
int* x;
int* y;
Obtener punteros a objetos:
Los punteros apuntan a objetos, por lo tanto, lo primero que tenemos que saber hacer
con nuestros punteros es asignarles direcciones de memoria válidas de objetos.
Ejemplo:
int A;
Int *pA
pA= &A;
pA es un puntero a int que apunta a la dirección donde se almacena el valor del
entero A.
Ejemplo:
int *pEntero;
int x = 10;
int y;
pEntero = &:y;
*pEntero = x;// (1)
En (1) asignamos al objeto apuntado por pEntero en valor del objeto x. Como pEntero
apunta al objeto y, esta sentencia equivale (según la secuencia del programa), a
asignar a y el valor de x.
2. Tipos de apuntadores
Hay dos tipos de apuntadores:
Apuntadores nulos: El valor cero se utiliza para indicar que ha ocurrido algún
error (es decir, que alguna operación no se ha podido realizar)
int *p = NULL; //int *p=0;
En este caso se adina un puntero a otro, esto hara que los apunten a la misma
dirección memoria:
int c[10] = {10, 15, 20, 25, 30, 35, 40, 45, 50, 55};
int *pt;
pt = c;
pt++;
pt += 5;
pt -= 3;
pt--;
Declaramos un puntero del mismo tipo que los elementos del array.
Reservamos memoria para todos los elementos del array. Los elementos de un
array se almacenan internamente en la memoria del ordenador en posiciones
consecutivas.
Se inicializa el puntero de modo que apunte al primer elemento del array.
REFERENCIAS
EJEMPLO
/*
Escuela: Instituto Politécnico Nacional - IPN
Plantel: ESIME - Culhuacan
Carrera: Ingeniería Mecánica
Materia: Fundamentos de Programación
Grupo: 1MV25
Nombre: Maldonado Bravo Ian Yael Eduardo
Fecha de creación: 19 de diciembre de 2020
*/
/*
Nombre de la Práctica: Estructura de datos
Arreglos unidimensionales.
Realizar un programa que cree un arreglo de tipo entero, solicite al usuario los valores, llene
dicho arreglo,
ordene los valores de mayor a menor y por último imprima los valores ya ordenados.
*/
#include <stdio.h>
#include <stdlib.h>
main() {
int *m, n, i, j, valores[50], aux;
system("color 1E");
printf("Ingrese la Cantidad de Nuemeros a Ingresar: ");
scanf("%i",&n);
m=&n;
printf("El valor esta guardado en: %i \n ",m);