Sería conveniente que que pasases el código entero para poder decirte donde está exactamente el error.
En cuanto a variables y flags la diferencia está en que los flags están activados o desactivados y las variables tienes valores (0, 1, 2, etc) aunque por defecto si no están "iniciados" tienen...