Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
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 />
✐