Я пишу следующий размер макроса, я хотел бы знать разницу.
#define my_sizeof(type) (char*)(&type+1)-(char*)(&type)
#define my_sizeof(type) (void*)(&type+1)-(void*)(&type)
1-й вопрос: почему требуется приведение типов, я знаю, что если я не набираю приведение типов, оно всегда возвращает 1, я проверял его при запуске. Я хочу знать значение (я имею в виду то, что он говорит компилятору).
2ndly
Какая разница с char * и void *.?
Большое спасибо.