Implemente seu próprio tamanho de [duplicado]
Duplicata Possível:
tamanho de um tipo de dados sem usar sizeof
Um amigo meu apareceu recentemente na entrevista da NVIDIA, onde foi convidado paraimplement his own sizeof in C
. Eu tentei fazer o mesmo para praticar e escrever com sucesso duas definições diferentes desizeof
um dos quais pode manipular variáveis e outros podem manipular tipos de dados, mas não consigo mesclar os dois. Existe alguma maneira de fazer isso? Além disso, é possível implementar umsizeof
em C.
Lidar com tipos comoint
, char
etc
#define my_sizeof(type) ((size_t)(((type *)0) + 1))
Lida com variáveis comox
#define my_sizeof(var) (size_t)((char *)(&var+1)-(char*)(&var))