para que sirve "volatile" en una variable
La palabra reservada volatile define una variable como altamente cambiable, e indica que este dato puede cambiar sin que el compilador sea informado de ello. Cuando el entorno modifica el dato (por multitarea, multihilo o interrupciones) volatile indica al compilador que no haga suposiciones sobre el dato, especialmente durante la optimización, forzando a la relectura del dato. Los objetos volatile tienen la misma sintaxis que los const. Cuando volatile y const se utilizan conjuntamente se conoce como c-v (const-volatile).