add typedef and union demo