implementação do operador sizeof
Eu tentei implementar o operador sizeof .. Eu fiz assim ..
#define my_sizeof(x) ((&x + 1) - &x)
Mas sempre acabava dando o resultado como '1' para qualquer um dos tipos de dados.
Eu pesquisei por isso ... e encontrei o códigotypecasted
#define my_size(x) ((char *)(&x + 1) - (char *)&x)
E o código está funcionando se for typecasted .. Eu não entendo por que .. Este código também é o PADDING de uma ESTRUTURA perfeitamente ..
Também está trabalhando para
#define my_sizeof(x) (unsigned int)(&x + 1) - (unsigned int)(&x)
Alguém pode por favor explicar como está funcionando se typecasted e se não typecasted?
Desde já, obrigado..