[C con Clase] Sobre el punto 'Tipos de variables I' del curso
Steven Davidson
srd4121 en njit.edu
Jue Mayo 3 03:17:22 CEST 2012
Hola User,
On 5/2/2012 5:04 PM, User wrote:
> Más dudas,
>
> El el capítulo pone: "podemos estar seguros de que el tamaño de un
> short int es menor o igual que el de un int, y éste a su vez es menor
> o igual que el de un long int" y también sobre long long [int] pone
> "Como en los otros casos, su tamaño no está definido, pero sí sabemos
> que será mayor o igual que el de long int"
>
> De esto deduzco lo siguiente:
>
> short int < int < long int < long long int
>
Casi. El operador es <=; esto es,
short int <= int <= long int <= long long int
Y de hecho, tenemos más bien esto:
char <= wchar_t <= short int <= int <= long int <= long long int
donde 'char' ES 1 byte.
> Pero no me queda claro entre qué tipo y qué tipo entran los tipos
> short, long y long long, todos ellos sin llevar un int después, y
> tampoco se qué diferencia hay entre estos y los que llevan un int
> después.
>
Creo que estás confundiendo estos vocablos de 'short', 'long', y 'long
long'. No son diferentes tipos de enteros, sino que se pueden usar
implícitamente con 'int'. Esto es,
short n;
es igual que:
short int n;
Asimismo,
long n;
es igual que:
long int n;
y,
long long n;
es igual que:
long long int n;
Lo mismo sucede con las "versiones" de 'unsigned'.
Si te fijas en la sintaxis en el curso, verás que 'int' en estos casos
es optativo:
[signed|unsigned] [short|long] int
<identificador>[,<identificador2>[,<identificador3>]...];
[signed|unsigned] long [int]
<identificador>[,<identificador2>[,<identificador3>]...];
[signed|unsigned] short [int]
<identificador>[,<identificador2>[,<identificador3>]...];
[signed|unsigned] long long [int]
<identificador>[,<identificador2>[,<identificador3>]...];
Si escribes 'long', entonces no es necesario escribir 'int'
posteriormente, ya que en este caso es implícito; y lo mismo sucede con
'short' y 'long long'.
Espero haber aclarado la duda.
Steven
Más información sobre la lista de distribución Cconclase