why the size of emty struct is 1 byte in C/C++ ?