Pensaba que sería de lo que menos me costaría entender, pero veo que no.
En este manual, mencionan los modificadores de tipos de datos muy por encima. Ni explican como funcionan ni nada, solo cuales se aplican a cada tipo de dato y poco más.
Así pues, me he puesto a buscar por Google como funcionan; y sí, algo entiendo. Que un long int por ejemplo, es el doble (aunque en alguno sitios solo pone mayor que) un int, que un short int es inferior (imagino que la mitad) que un int...
pero sin embargo, he visto que short int ocupa 16 bits, mientras que long int, si un int ocupa 32 y long int es el doble... no ocupa 64, sino también 32.
Supongo, que lo que varía de int a long int, es el rango del valor, aunque siga ocupando 32 bits. Pero entonces ¿por qué un short int ocupa 16?.
En cualquier caso, no es que entienda mucho lo de que ocupe 32 bits por ejemplo, y el valor máximo que pueda almacenarse sea 32767 o 32768... (aunque en algunos sitios pone valores muy superiores).
De todas formas esto es un cachondeo, porque en webs como la de zator, dice que el estándar del ANSI C no tiene una regla fija sobre el tamaño de los tipos de datos y sus rangos ;).
y que depende de la plataforma y del procesador.
¿Entonces como haces con C/C++ para usar solo la memoria necesaria, si no sabes ni siquiera cuanto ocupa un int?.
Bueno, sí, con:
Código: Seleccionar todo
sizeof(int);
Así, que si todo eso es para gestionar bien la memoria del PC y ahorrar recursos... ¡no se ni por donde empezar con eso!.
¿Alguien que sepa explicármelo?.
Salu2!