Tipos De Datos
Enviado por Moxie • 2 de Febrero de 2014 • 3.085 Palabras (13 Páginas) • 219 Visitas
Tipo de Datos &
Estructura de datos
Ing. Sistemas
TIPOS DE DATOS C++
________________________________________
A toda variable que se use en un programa, se le debe asociar (generalmente al principio del programa) un tipo de dato específico.
Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa.
Los tipos de datos más comunes en C++ son:
TIPO DATO ESPACIO MEMORIA RANGO
unsigned char 8 bits 0 a 255
char 8 bits -128 a 127
short int 16 bits -32,768 a 32,767
unsigned int 32 bits 0 a 4,294,967,295
int 32 bits -2,147,483,648 a 2,147,483,647
unsigned long 32 bits 0 a 4,294,967,295
enum 16 bits -2,147,483,648 a 2,147,483,647
long 32 bits -2,147,483,648 a 2,147,483,647
float 32 bits 3.4 x 10-38 a 3.4 x 10+38(6 dec)
double 64 bits 1.7 x 10-308 a 1.7*10+308(15 dec)
long double 80 bits 3.4 x 10-4932 a 1.1 x 10+4932
void sin valor
Para manejar cadenas de caracteres (strings), se debera usar un arregllo de caracteres con el siguiente formato.
Char nomstring[cant de elementos];
Ejemplo
Char nombre[30];
Char ciudad[20];
Para cargar con un dato se usa el siguiente codigo;
strcpy(carrera,"ing sistemas");
Variables arreglos de caracteres, tienen que usar sus funciones de manipulación que vienen en la libreria string.h, algunas de estas funciones son: strcpy(), strcat(), strcmp(), strlen(), etc.
Estructura de Datos:
Una estructura de datos es una manera de almacenar y organizar datos para facilitar el acceso y modificaciones. No hay una estructura de datos que sirva para todos los propósitos, y por eso es importante saber sus ventajas y desventajas. Este documento es una colección de apuntes para el curso de Estructuras de Datos. Los apuntes se han tomado de algunas fuentes que son detalladas en la sección de bibliografía.
Arreglos
Definición 1 Un arreglo se compone de elementos de igual tamaño almacenados linealmente en posiciones de memoria consecutiva.
Se puede acceder a cada elemento de datos individual utilizando un subíndice, o índice, para seleccionar uno de los elementos. En C/C++ , un arreglo no es un tipo de datos estándar; es un tipo agregado compuesto de cualquier otro tipo de datos.
Los arreglos se pueden definir usando tipos de datos mixtos debido a que se supone que todos los elementos son del mismo tamaño. Puesto que todos los elementos son del mismo tamaño y ya que este hecho se utiliza para ayudar a determinar cómo localizar un elemento dado, resulta que los elementos son almacenados en localidades de memoria contiguas.
Lo más importante a tener en cuenta es: El nombre de un arreglo es visto por el compilador como un puntero-constante al primer elemento del arreglo. Esto es muy importante: a) El nombre del arreglo es visto como un tipo puntero, y más específicamente, b) un puntero constante -significa una dirección de memoria bloqueada para el primer elemento de un arreglo-. Por ejemplo, aunque una declaración de arreglo toma la fórma genérica:
Tipo_ElementoArray NombreArray [ NumeroDeElementos ]
El compilador ve la declaración como
Tipo_ElementoArray * const NombreArray = &NombreArray[0];
Por esta razón, un identificador de arreglo no puede ser usado nunca como un valor-i (valor izquierdo). Los valores izquierdos representan variables que su contenido puede ser alterado por el programa; frecuentemente aparecen a la izquierda de las sentencias de asignación.
Si los nombres de arreglo fueran variables izquierdos permitidos, el programa podría cambiar sus contenidos.
float SalariosDeEmpleados[Max_empleados];
.
.
.
SalariosDeEmpleados = 45739.0;
El efecto haría cambiar la dirección inicial del propio arreglo.
Declaraciones de un arreglo
La sintaxis de declaración de arreglos es:
tipo nombre_arreglo [numero_de_elementos];
Los siguientes son dos ejemplos de declaraciones de arreglos válidas en C/C++ :
int CoordenadasDePantalla[5]; /*Un arreglo de 5 enteros */
char IDCompania[20]; /*Un arreglo de 20 caracteres */
Figura 1: Arreglo CoordenadasDePantalla con índices de desplazamiento válido
En la figura 1 se muestra el primer arreglo que fue declarado con el tipo de números enteros, llamado CoordenadasDePantalla, ocupa en memoria 5 localidades de memoria contiguas, cada una de ellas capaz de almacenar un número entero. Actualmente es común que los números enteros sean de 32 bits, esto hace que el arreglo CoordenadasDePantalla ocupe bits
No se permite utilizar nombres de variables dentro de los corchetes. Por esto no es posible evitar la especificación del tamaño del arreglo hasta la ejecución del programa. La expresión debe ser un valor constante, para que el compilador sepa exactamente cuánto espacio de memoria tiene que reservar para el arreglo.
Una buena práctica de programación es usar constantes predefinidas.
#define Coordenadas_Max 20
#define Tamano_MaX_Compania_Id 15
int CoordenadasDePantalla[Coordenadas_Max];
char IDCompania[Tamano_MaX_Compania_Id];
El uso de constantes predefinidas garantiza que futuras referencias al arreglo no excedan el tamaño del arreglo definido.
Iniciación del arreglo
C/C++ proporciona 3 maneras de iniciar elementos del arreglo:
Por defecto:
Cuando son creados, se aplica solamente a arreglos globales y estáticos.
Explícita:
Cuando son creados, suministrando datos de iniciación
Tiempo de ejecución:
Durante la ejecución del programa cuando se asignan o copias datos en el arreglo.
Acceso a los elementos de un arreglo
Si se tiene un error cuando se utilizan arreglos en C/C++ , de seguro el error involucra el acceso a los elementos del arreglo, por la simple razón de que el primer elemento está en una posición 0, no 1. De manera que el último elemento del arreglo lo encontramos en n-1, donde n es el número de elementos. Supongamos la siguiente declaración:
int Estado[Rango_Maximo_Estado]={-1,0,1};
La siguiente sentencia tiene acceso a -1:
Estado[0];
Si escribimos Estado[3] causará un error porque no hay 4 elementos.
Cálculo del tamaño de un arreglo (sizeof())
Es
...