|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
mi illuminate sugli enum?
vi spiego il problema:
ho sempre pensato ce un enum di 4 elementi per un pc fosse un numero che va da 0 a 3... perchè allora se faccio un enum di 4 elementi (in realtà anche per qualcuno in più è la stessa cosa) sizeof dice che è di 4 byte? ciaaaao! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
riformulo...
perchè è un grosso come un int e non come un char? è una specifica del c o semplicemente il compilatore se ne batte le palle di ottimizzarlo? ciaaaao |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quindi dato per esempio: Codice:
enum direzioni
{
nord = 0,
sud,
est,
ovest
};
stampa 4 perché il valore di una enum ha la stessa occupazione di memoria di un intero. e enum direzioni d; printf ("%d\n", sizeof (d)); stampa pure 4 perché una variabile di tipo enum ha di nuovo la stessa dimensione di un intero.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#4 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Codice:
enum {
v1 = 10,
v2 = 1000,
v3 = 10000,
...
}
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:13.



















