El operador typeof
en C plano (no C++) es una adición GCC a la norma. Le dice al compilador que desea utilizar el tipo de expresión entre paréntesis.
Usando typeof
como se indica anteriormente, puede declarar variables de tipos desconocidos para usted o en ese contexto, utilizando el tipo de otra variable como referencia. También se puede usar para lanzar.
La operación +
dentro de typeof
tiene un efecto peculiar. typeof((c) + 1)
significa "el tipo de c, o el tipo de 1, lo que quede después de la promoción". Recuerde que, por ejemplo, caracteres son promovidos a enteros cuando se utiliza en operaciones de enteros, enteros son promovidos a los flotadores, flotadores a los dobles, etc.
Por lo tanto, es typeof(int_variable + char_variable)
int
, ya que el char
serían promovidos a int
para llevar a cabo la operacion.
Tenga en cuenta que solo el compilador puede resolver esto: typeof
no evalúa, no tiene ningún valor, no ocurre nada en el tiempo de ejecución.
La descripción completa de typeof
puede ser found here.
Cómo se declaró 'C'? – SiegeX
buena pregunta :-) – Anycorn
realmente buena pregunta! Aprendí algo nuevo hoy – slezica