to access a long you access zvalvaluelval to access a double you use zvalvaluedval and so on because all values are stored in a union trying to access data with incorrect union members results in meaningless output 