c11

¿Por qué " sizeof (a? true: false) " dar una salida de cuatro bytes?

Tengo un pequeño fragmento de código sobre el operador sizeof con el operador ternario: #include <stdio.h> #include & ... boolean type y sizeof bool type es 1 byte en C. Entonces ¿por qué sizeof(a ? true : false) da una salida de cuatro bytes?

¿Por qué auto a=1; compila en C?

El código: int main(void) { auto a=1; return 0; } Se compila sin errores por el compilador de MS Visual Studio 20 ... duce del inicializador. Eso significa que mi compilador no se adhiere a C, o es el código ¿realmente correcto en lenguaje C?

¿Imprimir punteros nulos con %p es un comportamiento indefinido?

¿Es un comportamiento indefinido imprimir punteros nulos con el especificador de conversión %p? #include <stdio.h> i ... id *p = NULL; printf("%p", p); return 0; } La pregunta se aplica al estándar C, y no a las implementaciones de C.

¿Alguna biblioteca de C implementa subprocesos de C11 para GNU / Linux?

Ha habido mucho de preguntas sobre C11 y C11 threading, pero no veo una respuesta definitiva en ninguna parte: ¿alguna bibl ... thread, que usa -pthread) Gracias! (re-)Edit: pregunta re-abierta, por lo que migró el contenido a answer para limpiar.

¿Por qué devuelve la función "noreturn"?

He leído esta pregunta sobre el atributo noreturn, que se usa para funciones que no regresan al llamador. Entonces he hecho ... movl $0, %eax call func ¿Por qué devuelve function func() después de proporcionar el atributo noreturn?

¿Es el juego de palabras de tipo a través de una unión no especificado en C99, y se ha especificado en C11?

A number of answers for the Stack Overflow question Getting the IEEE Single-precision bits for a float suggest using a union ... de los compiladores parecen soportar esto, pero sería bueno saber si está especificado en el estándar, o extensión muy común.

Sintaxis y Ejemplo de Uso de Genérico en C11

Escuché que C11 agregó genéricos. He buscado un poco en Google, he mirado algunos artículos, he entendido que hay una nueva p ... en C++? ¿Puede alguien darme una breve explicación de la definición C11 de genéricos, su sintaxis y un ejemplo de uso simple?

¿Para qué son útiles las estructuras y uniones anónimas en C11?

C11 añade, entre otras cosas, 'Estructuras y Uniones anónimas'. Miré alrededor pero no pude encontrar una explicación clara ... espués, pero siempre he (¿tenía que?) trate eso como un error, así que solo puedo concebir un uso para estructuras nombradas.

¿Hay planes para un futuro estándar C después de C11?

Busqué en el sitio web de estándares abiertos , particularmente en la página de inicio del grupo de trabajo C pero solo enc ... a de ruta. Es difícil saber si están trabajando en un nuevo estándar o simplemente un Corrigendum Técnico al estándar actual.

¿Por qué C++11 no soporta estructuras anónimas, mientras que C11 sí?

C11 soporta estructuras anónimas, así: struct Foo { struct { size_t x, y; }; }; struct Foo f; f.x = 17; ... en haber sido discutidas, al menos para preservar la compatibilidad con el estándar C11. Entonces, ¿por qué no se agregaron?

Descripción de la jerarquía de tipos C11

Me gustaría entender completamente la jerarquía de tipos del lenguaje C11 y presentarla gráficamente (un diagrama de árbol se ... modo de representar las relaciones. Me gustaría salir con un buen cheet-sheet para el sistema de escritura C11. Alguna idea?

Últimos cambios en C11

C1x se ha convertido en ISO/IEC 9899:2011, también conocido como C11. ¿Alguien sabe qué cambios (si los hay) hay en la Norm ... ashington, DC (octubre de 2011) aquí; Supongo que una lista de cambios aceptados en las actas de DC debería cubrir las cosas.

¿memcpy(&a + 1, &b + 1, 0) está definido en C11?

Esta pregunta sigue a esta pregunta anterior sobre la definición de memcpy(0, 0, 0), que se ha determinado concluyentemente q ... ular es equivalente a true cuando n es 0, y no captura el comportamiento indefinido en el que se basa GCC 4.9 para optimizar.

Efectos secundarios en expresiones genéricas

Estoy haciendo algunos experimentos con la nueva palabra clave _Generic y me topé con un caso especial con respecto a múltipl ... ios en las macros (por ejemplo, MIN y MAX). Ahora, ¿puedo ignorar con seguridad la advertencia de Clang, o estoy equivocado?

C11 en GCC?

Estoy tratando de compilar algún código de C11 usando thread.h, pero no puedo. He recompilado GCC (ejecutando 4.6.2 ahora), y ... en g++ (usando la biblioteca thread, es decir) pero no puedo en C. ¿No está thread.h incluido en la distribución GCC todavía?

Puede una función de retorno de void g devolver f (); cuando f devuelve void?

Considere el siguiente fragmento: void f(void); void g(…) { … return f(); … } ¿Es esto return f(); válido según C1 ... cuyo tipo return es void. Una sentencia return sin expresión solo aparecerá en una función cuyo tipo de retorno sea anular.

¿Cuáles son esos extraños tamaños de matriz [ * ] y [estática] en C99?

Aparentemente los siguientes prototipos de funciones son válidos en C99 y C11: void foo(int a[const *]); void bar(int a[sta ... de CV? ¿Ayudan a distinguir los arrays de tipo estático de los arrays de longitud variable? ¿O son solo azúcar sintáctica?

C11 Genérico: ¿cómo tratar con literales de cadena?

Usando la función _Generic en C11, ¿cómo se manejan los literales de cadena? Por ejemplo: #include <stdio.h> #define ... co compilador al que tengo acceso que soporta esta característica, así que no puedo decir si es un error del compilador o no.