void es un tipo , un especificador de tipo y una palabra clave en los lenguajes de programación C , C++ , Java , C# , Objective-C , D , ActionScript y PHP .
Entre los lenguajes de programación modernos, la palabra clave voidapareció por primera vez en C++ para respaldar el concepto de punteros genéricos . Sin embargo, debido a su rápido préstamo de C++, el primer documento normativo en contener esta palabra clave fue el estándar C, publicado por ANSI en 1989. Dentro del lenguaje C++ void, fue estandarizado en 1998.
Posteriormente, voidJava y C#, D, PHP [1] heredaron la palabra clave y las construcciones del lenguaje relacionado .
Sintácticamente, voides uno de los especificadores de tipo en el grupo más general de especificadores de declaración , pero se implementa como una declaración en algunos lenguajes de programación. Por ejemplo, en JavaScript void es un operador y siempre devuelve undefined:
expresión vacía === indefinido ;La semántica de la palabra clave voidno está sujeta a la semántica general de los especificadores de tipo y depende del uso:
El tipo voidse define como un tipo incompleto que no se puede completar. Como consecuencia, este tipo no debe usarse donde solo se permiten tipos completos, como un tipo de parámetro en una definición de función .
Antes de la publicación del primer estándar C en 1989, que introdujo la palabra clave void, era una práctica común declarar funciones que no devolvían valores sin usar especificadores de tipo. Si bien tal declaración era semánticamente equivalente a declarar una función que devolvía un valor de tipo int, los especificadores de tipo omitidos intencionalmente enfatizaban que la función no devolvía ningún valor en particular. Por ejemplo:
f ( largo ) _ { /* ... */ }De manera similar, las definiciones de funciones que no tenían parámetros se escribieron con paréntesis vacíos:
int principal () { /* ... */ }Se usó un puntero a char como puntero genérico . Además, los estándares modernos exigen que los requisitos de representación y alineación para voidlos punteros - sean los mismos que para los punteros to char, lo que significa que estos tipos son intercambiables .
El primer dialecto estándar de C ( C89 ), aunque ya permitía la notación con la palabra clave void, todavía permitía este uso del int implícito para mantener la compatibilidad con el código existente. El dialecto C moderno ( C99 ) no permite la ausencia de especificadores de tipo en los nombres y declaraciones de tipo.
Se muestran ejemplos de cómo declarar una función que devuelve void.
Tipos de datos | |
---|---|
Ininterpretable | |
Numérico | |
Texto | |
Referencia | |
Compuesto | |
resumen |
|
Otro | |
Temas relacionados |