13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 76 — #114<br />

✐<br />

Capítulo 3. C <strong>en</strong> <strong>C++</strong><br />

Si se ha estado preguntando acerca del nombre «<strong>C++</strong>», ahora lo <strong>en</strong>t<strong>en</strong>derá. Significa<br />

«un paso más allá de C» 3<br />

3.4. Introducción a los tipos de datos<br />

Los tipos de datos defin<strong>en</strong> el modo <strong>en</strong> que se usa el espacio (memoria) <strong>en</strong> los programas.<br />

Especificando un tipo de datos, está indicando al compilador como crear un<br />

espacio de almac<strong>en</strong>ami<strong>en</strong>to <strong>en</strong> particular, y también como manipular este espacio.<br />

Los tipos de datos pued<strong>en</strong> estar predefinidos o abstractos. Un tipo de dato predefinido<br />

es intrínsecam<strong>en</strong>te compr<strong>en</strong>dido por el compilador. Estos tipos de datos son<br />

casi idénticos <strong>en</strong> C y <strong>C++</strong>. En contraste, un tipo de datos definido por el usuario es<br />

aquel que usted o cualquier otro programador crea como una clase. Estos se d<strong>en</strong>ominan<br />

comúnm<strong>en</strong>te tipos de datos abstractos. El compilador sabe como manejar tipos<br />

predefinidos por si mismo; y «apr<strong>en</strong>de» como manejar tipos de datos abstractos ley<strong>en</strong>do<br />

los ficheros de cabeceras que conti<strong>en</strong><strong>en</strong> las declaraciones de las clases (esto se<br />

verá con más detalle <strong>en</strong> los sigui<strong>en</strong>tes capítulos).<br />

3.4.1. Tipos predefinidos básicos<br />

La especificación del Estándar C para los tipos predefinidos (que hereda <strong>C++</strong>)<br />

no indica cuantos bits debe cont<strong>en</strong>er cada uno de ellos. En vez de eso, estipula el<br />

mínimo y máximo valor que cada tipo es capaz de almac<strong>en</strong>ar. Cuando una máquina<br />

se basa <strong>en</strong> sistema binario, este valor máximo puede ser directam<strong>en</strong>te traducido a<br />

un numero mínimo necesario de bits para alojar ese valor. De todos modos, si una<br />

maquina usa, por ejemplo, el código binario decimal (BCD) para repres<strong>en</strong>tar los números,<br />

<strong>en</strong>tonces el espacio requerido para alojar el máximo número para cada tipo<br />

de datos será difer<strong>en</strong>te. El mínimo y máximo valor que se puede almac<strong>en</strong>ar <strong>en</strong> los<br />

distintos tipos de datos se define <strong>en</strong> los ficheros de cabeceras del sistema limits.h<br />

y float.h (<strong>en</strong> <strong>C++</strong> normalm<strong>en</strong>te será #include y ).<br />

C y <strong>C++</strong> ti<strong>en</strong><strong>en</strong> cuatro tipos predefinidos básicos, descritos aquí para máquinas<br />

basadas <strong>en</strong> sistema binario. Un char es para almac<strong>en</strong>ar caracteres y utiliza un mínimo<br />

de 8 bits (un byte) de espacio, aunque puede ser mas largo. Un int almac<strong>en</strong>a un<br />

número <strong>en</strong>tero y utiliza un mínimo de dos bytes de espacio. Los tipos float y el<br />

double almac<strong>en</strong>an números con coma flotante, usualm<strong>en</strong>te <strong>en</strong> formato IEEE. el float<br />

es para precisión simple y el double es para doble precisión.<br />

Como se ha m<strong>en</strong>cionado previam<strong>en</strong>te, se pued<strong>en</strong> definir variables <strong>en</strong> cualquier<br />

sitio <strong>en</strong> un ámbito determinado, y puede definirlas e inicializarlas al mismo tiempo.<br />

A continuación se indica cómo definir variables utilizando los cuatro tipos básicos<br />

de datos:<br />

//: C03:Basic.cpp<br />

// Defining the four basic data<br />

// types in C and <strong>C++</strong><br />

int main() {<br />

// Definition without initialization:<br />

char protein;<br />

int carbohydrates;<br />

float fiber;<br />

3 (N. de T.) ...aunque se evalúa como «C».<br />

76<br />

✐<br />

✐<br />

✐<br />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!