C LanguageRestricciones


Observaciones

Las restricciones son un término usado en todas las especificaciones C existentes (recientemente ISO-IEC 9899-2011). Son una de las tres partes del lenguaje descritas en la cláusula 6 de la norma (junto con la sintaxis y la semántica).

ISO-IEC 9899-2011 define una restricción como:

Restricción, ya sea sintáctica o semántica, mediante la cual se debe interpretar la exposición de elementos del lenguaje.

(Tenga en cuenta también que, en términos del estándar C, una "restricción de tiempo de ejecución" no es un tipo de restricción y tiene reglas muy diferentes).

En otras palabras, una restricción describe una regla del lenguaje que haría que un programa por lo demás sintácticamente válido fuera ilegal. En este sentido, las restricciones son algo así como un comportamiento indefinido, cualquier programa que no las siga no está definido en términos del lenguaje C.

Las restricciones, por otro lado, tienen una diferencia muy significativa con respecto a los comportamientos indefinidos. Es decir, se requiere una implementación para proporcionar un mensaje de diagnóstico durante la fase de traducción (parte de la compilación) si se infringe una restricción, este mensaje puede ser una advertencia o puede detener la compilación.

Restricciones Ejemplos relacionados