1AM2 T5 HIDALGO

Páginas: 7 (1627 palabras) Publicado: 10 de septiembre de 2015
 INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA


INGENIERIA EN CONTROL Y AUTOMATIZACION

FUNDAMENTOS DE PROGRAMACION

TAREA 5 : Apuntadores
fecha actual: viernes 26 de junio del 2015


fecha de entrega : viernes 26 de junio del 2015


ALUMNO: BENITO CAMELO RICO


GRUPO: 1AM2



Índice

Objetivo…………………2

Introducción……………3

Resumen………………..5Procedimiento………….6

Conclusiones ………....12

Bibliografía……………. 12














Objetivo


El alumno será capaz de crear programas utilizando apuntadores .















INTRODUCCIÓN

Apuntador

Un Apuntador es una variable que contiene una dirección de memoria, la cual corresponderá a un dato o a una variable que contiene el dato.
Cada variable que se utiliza en una aplicación ocupa una o variasposiciones de memoria. Estas posiciones de memoria se accesan por medio de una dirección.

Los punteros tienen muchas utilidades; por ejemplo, nos permiten pasar argumentos (o parámetros) a una función y modificarlos.
También permiten el manejo de cadenas y de arrays.
Otro uso importante es que nos permiten acceder directamente a la pantalla, al teclado y a todos los componentes del ordenador.

ElOperador de Dirección ( &) regresa la dirección de una variable.
El Operador de Indirección ( * ), toma la dirección de una variable y regresa el dato que contiene esa dirección.

La declaración de un puntero de manera general es:
Tipo_dato *nombre de apuntador;
Tipo_dato : Especifica el tipo de objeto apuntado y puede ser cualquier tipo (int, float, char, etc).
Nombre de apuntador: Es elidentificador (nombre asignado) del apuntador.
Ejemplo:
int *a=NULL;
int b=2,c=1;
a=&b; //Guarda la direccion de b en a
c=*a; //c vale 2

Asignación de memoria a valores numéricos

Si se requiere reservar memoria para un tipo de dato que no es char se realiza de la siguiente manera:
tamaño = (número de elementos) * (tamaño del tipo)
El tamaño del tipo se obtiene con la función sizeof.
Ejemplos://Reserva de memoria para 35 enteros
int *apun;
apun = (int *) malloc (sizeof(int));
//Reserva de memoria para 50 flotantes
float *apun;
apun = (float *) malloc (sizeof(float));





Apuntadores y vectores

Las versiones con apuntadores en los arreglos son más rápidas que la forma común.
La declaración int a[10]; int *pa;
por lo que pa=&a[0] y así seestablece que *pa=a[0] y *(pa+1)=a[1] y así sucesivamente. De esta manera se pude manejar mas eficientemente los valores y direcciones de un arreglo Bi o Unidimensional.
a[n] equivale exactamente a *(a+n). Por eso empiezan los arreglos con el indice 0.


Apuntadores y Matrices

Considerar:
int a[10][10];
int *b[10];
El uso de a y b puede ser parecido, desde el momento en que a[5][5] y b[5][5] sonreferencias validas a un int.
El arreglo a es un arreglo verdadero, existen 100 celdas de memoria asignadas y se efectúa el cálculo de subíndices rectangulares convencional para localizar un elemento dado.
Sin embargo a b la declaración solo le asigna 10 apuntadores, cada uno de los cuales deberá de apuntar a un arreglo de enteros

Diferentes declaraciones

La matriz a puede declararse :
Como unarreglo de 10 arreglos de tamaño 20
int a[10][20];
Como un arreglo de tamaño 20 de vectores de longitud variable
int *a[10];
Como un apuntador de apuntadores a enteros
int **a;
Como un apuntador a un arreglo de enteros de tamaño20
int (* a)[20];


Apuntadores y cadenas

Sea la declaración:
char * mensaje[4] = {''Hola'',''Adios'',''Bye'',''Saludos''} ;
Cada cadena está almacenada en memoria como unacadena de caracteres terminada en NULL (\0).
En el arreglo no están colocadas las cadenas, tan solo están almacenados los apuntadores.
Aunque el arreglo es de tamaño fijo, permite el acceso a cadenas de caracteres de cualquier longitud ( por ejemplo la longitud de Bye es mas corta que la de saludos).

Ventajas y desventajas

Beneficios:
Generar elementos bajo demanda, i.e. asignación dinámica de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • 1AM2 T2 Hidalgo
  • 1AM2 T1 Hidalgo
  • 1AM2 T3 HIDALGO
  • T5
  • T5
  • T5
  • T5 Diap
  • FG T5

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS