这是获取数组大小的宏
#define array_size(array) \
(sizeof( array ) / (sizeof( array[0] ) * (sizeof( array ) != sizeof(void*) || sizeof( array[0] ) <= sizeof(void*)))
我认为通常 (sizeof(array) / (sizeof(array[0])) 足以获得数组的大小。
我猜那个部分
(sizeof( array[0] ) * (sizeof( array ) != sizeof(void*) || sizeof( array[0] ) <= sizeof(void*))
是为了避免整件事除以零,任何人都可以帮忙解释一下吗?
提前致谢。
干杯,