sharkkk
25-10-2013, 13:51
Salve a tutti, stavo guardando le Union e mi sono imbattuto in questo codice.
#include <stdio.h>
#include <stdlib.h>
union boh {
struct test {
unsigned int a:2;
unsigned int b:2;
unsigned int c:2;
} t;
unsigned int bf;
} b;
int main (int argc, char *argv[])
{
b.t.a=atoi(argv[1]);
b.t.b=atoi(argv[2]);
b.t.c=atoi(argv[3]);
printf("%08x\n",b.bf);
}
-non avevo mai visto una dichiarazione del genere ( int c:2; ), cosa significa?
-cosa farebbe questo programma? perche non ho capito cosa stamperebbe %08x
-ma concretamente le union sono utili, vengono usate?
p.s. un ultima domanda stupida, se argv[] crea un vettore di char con dei valori passati in input, argc cosa conterrebbe?
grazie in anticipo
#include <stdio.h>
#include <stdlib.h>
union boh {
struct test {
unsigned int a:2;
unsigned int b:2;
unsigned int c:2;
} t;
unsigned int bf;
} b;
int main (int argc, char *argv[])
{
b.t.a=atoi(argv[1]);
b.t.b=atoi(argv[2]);
b.t.c=atoi(argv[3]);
printf("%08x\n",b.bf);
}
-non avevo mai visto una dichiarazione del genere ( int c:2; ), cosa significa?
-cosa farebbe questo programma? perche non ho capito cosa stamperebbe %08x
-ma concretamente le union sono utili, vengono usate?
p.s. un ultima domanda stupida, se argv[] crea un vettore di char con dei valori passati in input, argc cosa conterrebbe?
grazie in anticipo