Test the following code:
#include #include main() { const char *yytext=\"0\"; const float f=(float)atof(yytext); siz
Aside the pointer alignments, you're expecting that sizeof(size_t)==sizeof(float). I don't think it is (on 64-bit Linux size_t should be 64 bits but float 32 bits), meaning your code will read something uninitialized.