Вопросы с тегом «c11»

7
Почему «sizeof (a? True: false)» выдает четыре байта?
У меня есть небольшой фрагмент кода об sizeofоператоре с троичным оператором: #include <stdio.h> #include <stdbool.h> int main() { bool a = true; printf("%zu\n", sizeof(bool)); // Ok printf("%zu\n", sizeof(a)); // Ok printf("%zu\n", sizeof(a ? true : false)); // Why 4? return 0; } Выход ( GCC ): 1 1 4 // …

7
Почему auto a = 1; компилировать на C?
Код: int main(void) { auto a=1; return 0; } компилируется без ошибок компилятором MS Visual Studio 2012, если файл имеет расширение .c. Я всегда думал, что при использовании расширения .c компиляция должна выполняться в соответствии с синтаксисом C, а не C ++. Более того, насколько я знаю, auto без типа …
125 c  auto  c11 

3
Печать нулевых указателей с% p является неопределенным поведением?
Является ли неопределенное поведение печатью нулевых указателей с помощью %pспецификатора преобразования? #include <stdio.h> int main(void) { void *p = NULL; printf("%p", p); return 0; } Вопрос относится к стандарту C, а не к реализациям C.

1
Какова семантика перекрывающихся объектов в C?
Рассмотрим следующую структуру: struct s { int a, b; }; Обычно 1 , эта структура будет иметь размер 8 и выравнивание 4. Что если мы создадим два struct sобъекта (точнее, мы запишем в выделенное хранилище два таких объекта), причем второй объект будет перекрывать первый? char *storage = malloc(3 * sizeof(struct …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.