Ehm .. Io tipo' di se questo modificatori come lungo/breve espande/riduce quantità di memoria allocata quando vengono creati variabile, ma ...Perché "long int" ha le stesse dimensioni di "int"? Questo modificatore funziona a tutti?
#include <stdio.h>
#define test_int int
#define long_int long int
#define long_long_int long long int
void main()
{
printf("%i\n", sizeof (test_int)); //output 4
printf("%i\n", sizeof (long_int)); //output 4. Why? wasn't I modified it's size?
printf("%i\n", sizeof (long_long_int)); //output 8
}
Per ragioni sconosciute, si stampa il dimensione di int e lungo int uguale. Io uso vC++ 2010 express edition. Siamo spiacenti, difficile trovare la risposta in google, mostra sempre lungo e int come tipi separati.
Perché * non dovrebbe * le dimensioni essere le stesse ?! I tipi sono diversi, questo è tutto ciò che conta. Ogni tipo può rappresentare un insieme di valori prescritto dallo standard, ma è libero di essere in grado di rappresentare di più. –
Che cosa è il modificatore ** long **? Non dovrebbero espandere la quantità di memoria allocata? – Kosmos
Nulla di ciò ha a che fare con "memoria" o "allocazione" e "long" non è un "modificatore". Piuttosto, 'int' e' long int' sono due tipi diversi. Entrambi rappresentano numeri interi. –